So senden Sie E-Mails von einem PHP-Skript mit SMTP-Authentifizierung

Inhaltsverzeichnis:

So senden Sie E-Mails von einem PHP-Skript mit SMTP-Authentifizierung
So senden Sie E-Mails von einem PHP-Skript mit SMTP-Authentifizierung
Anonim

Was man wissen sollte

  • PHP-Klassenoptionen: PHPmailer, SwiftMailer, Zend_Mail, XpertMailer, PEAR Mail.
  • PEAR Mail: Name des Mailservers notieren > prüfen, ob PEAR Mail installiert ist > PHP-Datei anhand der angegebenen Beispiele ändern.

Dieser Artikel erklärt, wie Sie die SMTP-Authentifizierung zum Senden von E-Mails mit der PHP-Funktion mail() in PEAR Mail verwenden.

E-Mail mit der PHP-Mail-Funktion versenden

Wenn Sie die PHP-Funktion mail() verwenden, senden Sie E-Mails am Ende direkt von Ihrem Webserver und nicht von Ihrem Mailserver. Wenn Sie einen Mailserver über Ihren Webhost oder sogar einen Mailserver mit einem anderen Host haben, ist es normalerweise besser, E-Mails stattdessen darüber zu senden.

Das Problem ist, dass die PHP-Funktion mail() keine eingebaute Möglichkeit zum Versenden von E-Mails über SMTP bietet. Wenn Sie diese Funktionalität nutzen möchten, müssen Sie eine zusätzliche PHP-Klasse installieren.

Hier sind einige Optionen, die funktionieren:

  • PHPmailer
  • SwiftMailer
  • Zend_Mail
  • XpertMailer
  • PEAR Mail

Wir zeigen Ihnen, wie Sie PEAR Mail verwenden, aber Sie können jede Klasse verwenden, die SMTP unterstützt.

Image
Image

Wenn Ihr Webhost bereits eine oder mehrere dieser Klassen installiert hat, gibt es wahrscheinlich Tutorials, die sich auf Ihre Situation beziehen. Wenn ja, verwenden Sie die Klasse, auf die Sie Zugriff haben.

Verwenden Sie diese Methode nur, wenn Sie PHP verwenden, um Ihre eigenen benutzerdefinierten E-Mail-Formulare zu erstellen. Wenn Sie ein Content-Management-System (CMS) wie WordPress verwenden, suchen Sie nach einem Plug-in oder einer integrierten Funktion zum Senden von E-Mails über SMTP, anstatt zu versuchen, Ihre eigene zu erstellen.

Verwenden von PEAR zum Senden von E-Mails über SMTP

  1. Stellen Sie sicher, dass Ihre Domain auf die Mail Exchange (MX)-Einträge Ihres Mailserver-Hosts verweist, und notieren Sie sich den Namen Ihres Mailservers. Dies kann beispielsweise mail.ihredomain.net oder smtp.ihredomain.net sein.
  2. Überprüfen Sie, ob PEAR Mail bereits auf Ihrem Mailserver installiert ist.
  3. Wenn PEAR Mail nicht installiert ist, wenden Sie sich an Ihren Webmail-Host, um spezifische Anweisungen zur Installation zu erh alten.
  4. Sobald PEAR Mail installiert ist, passen Sie eine der Beispiel-PHP-Dateien in den folgenden Abschnitten an Ihre Bedürfnisse an.

Beispiel eines PEAR Mail PHP-Skripts für SMTP-Mail

Wenn Sie möchten, können Sie Ihr eigenes Skript von Grund auf neu erstellen oder das folgende Beispiel nach Ihren Wünschen ändern. Achten Sie darauf, den Namen Ihres Webmail-Servers in die Host-Variable einzugeben, und verwenden Sie Ihre Anmeldeinformationen für Ihren Webmail-Host in den Feldern Benutzername und Passwort.

require_once "Mail.php";

$from="Absendername";

$to="Empfängername";

$subject=" Betreff hier: ";

$body="jede gewünschte Nachricht";

$host="yourmailhost.com";

$username="Ihr Benutzername oder E-Mail"; $password="Ihr Passwort";

$headers=Array ('From'=> $from, 'To'=> $to, 'Subject'=> $subject);

$smtp=Mail::factory('smtp', array ('host'=> $host, 'auth'=> true, 'username'=> $username, 'password'=> $password));

$mail=$smtp->send($to, $headers, $body);

if (PEAR::isError($mail)) {

echo("

". $mail->getMessage()."

);

} sonst {echo("

Nachricht erfolgreich gesendet!

);}

Beispiel eines PEAR Mail PHP-Skripts für SMTP-Authentifizierung und SSL-Verschlüsselung

Wenn Sie SMTP-Authentifizierung und SSL-Verschlüsselung verwenden möchten, müssen Sie einige Änderungen am vorherigen Beispiel vornehmen. Sie müssen die Host-Variable auf Ihren SSL-Mailserver verweisen und außerdem eine Portnummer wie 25, 465, 587, 2525 oder 8025 angeben. Wenden Sie sich für weitere Informationen an Ihren Webmail-Host, wenn Sie nicht herausfinden können, an welchen Port verwenden.

require_once "Mail.php";

$from="Name des Absenders";

$to="Name des Empfängers";

$subject=" Hier die Betreffzeile: ";

$body="jede gewünschte Nachricht";

$host="ssl://yourmailhost.com";

$port="587"; $username="Ihr Benutzername oder E-Mail";

$password="Ihr Passwort";

$headers=Array ('From'=> $from, ' To'=> $to, 'Subject'=> $subject);

$smtp=Mail::factory('smtp', array ('host'=> $host, 'port'=> $port, 'auth'=> true, 'username'=> $username, 'password'=> $password));

$mail=$smtp->send($to, $headers, $body);

if (PEAR::isError($mail)) {

echo("

". $mail->getMessage()."

);

} sonst {echo("

Nachricht erfolgreich gesendet!

);}

Empfohlen: