...
✅ WEB- und WordPress-Nachrichten, Themen, Plugins. Hier teilen wir Tipps und beste Website-Lösungen.

So senden Sie WordPress-E-Mails über den SMTP-Server

46

Haben Sie Probleme beim Versenden von E-Mails in WordPress? Unter der Haube sendet WordPress E-Mails mit der mail()-Funktion von PHP. Manchmal konfiguriert Ihr Webhosting die E-Mail-Einstellungen nicht richtig. Infolgedessen können keine E-Mails von Ihrer WordPress-Website gesendet werden.

Sie können dieses Problem lösen, indem Sie den SMTP-Server verwenden. Normalerweise stellen Webhosting-Unternehmen ihren eigenen SMTP-Server zur Verfügung, den Sie für den Versand Ihrer Website-E-Mails verwenden können.

Alternativ können Sie sich für andere SMTP-Server wie Gmail, Mailjet usw. entscheiden. Dazu sind grundlegende Details zum SMTP-Server wie Host, Port usw. erforderlich.

Sehen wir uns jedoch an, wie Sie den SMTP-Server zum Senden von WordPress-E-Mails verwenden.

PHPMailer in WordPress

WordPress enthält im Kern die PHPMailer-Klasse. Wenn Sie es überprüfen möchten, finden Sie diese Datei unter wp-includes/PHPMailer/PHPMailer.php.

Wenn wir PHPMailer in WordPress konfigurieren, wp_mailsendet die Funktion E-Mails über diese PHPMailer-Klasse. In diesem Fall wp_mailhängt die Methode nicht von den Hosting-Einstellungen ab. Stattdessen verwenden sie Ihre SMTP-Servereinstellungen.

Ich werde diese PHPMailer-Klasse für die E-Mails verwenden. Da diese Klasse bereits in WordPress enthalten ist, müssen wir die PHPMailer-Bibliothek nicht separat installieren.

Man kann das WP Mail SMTP- Plugin verwenden, das auch E-Mails über SMTP-Server versendet. Aber ich empfehle immer, wenn etwas erreicht werden kann, indem man ein kleines Stück Code schreibt, dann probiert es aus. Es empfiehlt sich, so wenig Plugins wie möglich zu verwenden. Die Verwendung von mehr Plugins auf der Website erhöht die zusätzliche Belastung des Servers. Und manchmal geraten Plugins in Konflikt miteinander, was zu einer kaputten Site führen kann.

Senden Sie WordPress-E-Mails über den SMTP-Server

Bevor Sie fortfahren, sollten Sie mit Ihren SMTP-Details wie Host, Port, Benutzername und Passwort fertig sein.

Wenn Sie den Gmail-SMTP-Server verwenden möchten, müssen Sie einige Einstellungen in Ihrem Google-Konto ändern. Melden Sie sich dazu bei Ihrem Google-Konto an und klicken Sie auf das Konto. Sobald Sie auf der Kontoseite sind, klicken Sie auf Sicherheit. Scrollen Sie nach unten und Sie finden die Einstellungen für "Weniger sicherer App-Zugriff". Stellen Sie es auf EIN.

So senden Sie WordPress-E-Mails über den SMTP-Server

Um PHPMailer in WordPress zu konfigurieren, gibt es einen Hook namens phpmailer_init. Mit phpmailer_initHook können wir auf das PHPMailer-Objekt zugreifen und die Argumente darauf setzen.

Öffne die functions.phpDatei deines aktiven Themes und füge den folgenden Code am Ende einer Datei ein.

add_action( 'phpmailer_init', 'set_phpmailer_details' );
function set_phpmailer_details( $phpmailer) {
    $phpmailer->isSMTP();     
    $phpmailer->Host = 'YOUR_SMTP HOST';
    $phpmailer->SMTPAuth = true;
    $phpmailer->Port = 'SMTP_PORT'; //25 or 465
    $phpmailer->Username = 'SMTP_USERNAME';
    $phpmailer->Password = 'SMTP_PASSWORD';
    $phpmailer->SMTPSecure = 'ssl'; //ssl or tls
}

Stellen Sie sicher, dass Sie die Platzhalter durch die tatsächlichen Werte ersetzen. Nehmen wir an, wir verwenden den Gmail-SMTP-Server, dann wird unser Code wie folgt geschrieben:

add_action( 'phpmailer_init', 'set_phpmailer_details' );
function set_phpmailer_details( $phpmailer) {
    $phpmailer->isSMTP();     
    $phpmailer->Host = 'smtp.googlemail.com'; //gmail smtp host
    $phpmailer->SMTPAuth = true;
    $phpmailer->Port = 465;
    $phpmailer->Username = 'GMAIL_USERNAME';
    $phpmailer->Password = 'GMAIL_PASSWORD';
    $phpmailer->SMTPSecure = 'ssl';
}

Sie müssen den tatsächlichen Benutzernamen und das Passwort Ihres Gmail-Kontos im obigen Code eingeben. Versuchen Sie nun, E-Mails von Ihrer WordPress-Website zu senden, E-Mails sollten funktionieren.

Debuggen des E-Mail-Problems

In diesem Moment funktionieren Ihre E-Mails auch nach der Verwendung von PHPMailer nicht. Mit der wp_mail_failedAktion können Sie die Ursache des Problems ermitteln. Verwenden Sie den folgenden Code, um das Problem zu beheben.

add_action('wp_mail_failed', 'log_mailer_errors', 10, 1);
function log_mailer_errors( $wp_error ){
    $fn = ABSPATH. '/mail.log'; // say you've got a mail.log file in your server root
    $fp = fopen($fn, 'a');
    fputs($fp, "Mailer Error: ". $wp_error->get_error_message() ."n");
    fclose($fp);
}

Ich hoffe, Sie verstehen, wie Sie WordPress-E-Mails über den SMTP-Server senden. Bitte teilen Sie Ihre Gedanken und Vorschläge im Kommentarbereich unten mit.

Zum Thema passende Artikel

Aufnahmequelle: artisansweb.net

Diese Website verwendet Cookies, um Ihre Erfahrung zu verbessern. Wir gehen davon aus, dass Sie damit einverstanden sind, Sie können sich jedoch abmelden, wenn Sie möchten. Annehmen Weiterlesen