Ich habe eine klassische LAMP-Plattform (Debian, Apache2, PHP5 und MySQL) auf einem dedizierten Server.
Ich habe gehört, dass PHPMailer E-Mails senden kann, ohne SMTP installiert zu haben. Ist PHPMailer dafür die beste Wahl?
dynamisch
Ich habe eine klassische LAMP-Plattform (Debian, Apache2, PHP5 und MySQL) auf einem dedizierten Server.
Ich habe gehört, dass PHPMailer E-Mails senden kann, ohne SMTP installiert zu haben. Ist PHPMailer dafür die beste Wahl?
Mārtiņš Briedis
Ja, PHPMailer ist eine sehr gute Wahl.
Wenn Sie möchten, können Sie beispielsweise den kostenlosen SMTP-Server von Google verwenden (es ist wie das Senden von Ihrem Google Mail-Konto.) Kopfzeilen usw. Es bietet mehrteilige E-Mails, Anhänge.
Ziemlich einfach einzurichten.
<?php
$mail = new PHPMailer(true);
//Send mail using gmail
if($send_using_gmail){
$mail->IsSMTP(); // telling the class to use SMTP
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->SMTPSecure = "ssl"; // sets the prefix to the servier
$mail->Host = "smtp.gmail.com"; // sets GMAIL as the SMTP server
$mail->Port = 465; // set the SMTP port for the GMAIL server
$mail->Username = "[email protected]"; // GMAIL username
$mail->Password = "your-gmail-password"; // GMAIL password
}
//Typical mail data
$mail->AddAddress($email, $name);
$mail->SetFrom($email_from, $name_from);
$mail->Subject = "My Subject";
$mail->Body = "Mail contents";
try{
$mail->Send();
echo "Success!";
} catch(Exception $e){
//Something went bad
echo "Fail - " . $mail->ErrorInfo;
}
?>
Ich benutze so etwas atm
– dynamisch
10. Februar 2011 um 23:49 Uhr
Also … dies verwendet SMTP und SSL?
– Brian McCutchon
28. Juni 2013 um 3:49 Uhr
Nur zur Klarstellung, weil die Frage “ohne installiertes SMTP” lautet.
– Brian McCutchon
28. Juni 2013 um 17:17 Uhr
“etwas ist schief gelaufen” ist nicht sehr hilfreich, verwenden $mail->ErrorInfo
:))
– Julian F. Weinert
2. Januar 2014 um 9:43 Uhr
@Kolob Canyon Die Antwort beantwortet die Frage: “Wenn Sie möchten, können Sie beispielsweise den kostenlosen SMTP-Server von Google verwenden (es ist wie das Senden von Ihrem Google Mail-Konto). oder Sie können den SMTP-Teil einfach überspringen“…
– Puroto
11. Juli 2017 um 16:33 Uhr
Sie können phpmailer auch zum Senden mit der standardmäßigen php mail()-Funktion verwenden.
Ich empfehle, nicht zu versuchen, Dinge manuell mit der Funktion mail() zu tun, sondern stattdessen phpmailer zu verwenden und es so zu konfigurieren, dass es mail() verwendet.
Ich möchte darauf hinweisen, dass, obwohl Sie keine SMTP-Verbindung verwenden, um die E-Mails selbst zu senden, die Funktion mail() entweder eine SMTP-Verbindung oder das sendmail-Programm des Servers verwendet, um die E-Mails zu versenden, also das wird müssen konfiguriert werden, damit es richtig funktioniert.
Justin Jones
Ohne SMTP können Sie die PHP-Mailfunktion verwenden:
http://php.net/manual/en/function.mail.php
bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )
Ein Tipp: Denken Sie daran, alle vom Benutzer übermittelten Informationen zu validieren, bevor Sie sie in Kopfzeilen einfügen. Auf diese Weise können sie bei der Verwendung keine eigenen Informationen in die Kopfzeilen einfügen mail
.
– Tom Marthenal
10. Februar 2011 um 23:08 Uhr
Die Antwort ist falsch, da Sie smtp sowieso konfiguriert haben müssen (was mail()
nutzt sowieso)
– Hirte
24. August 2020 um 22:06 Uhr