Wordpress versendet von Haus aus Emails über PHPMailer, eine beliebte E-Mail-Bibliothek für den Email Versand aus PHP.
Dies lassen einige Shared Hoster nicht zu, oder bereitet immer wieder Probleme.
Zur Abhilfe lässt sich Wordpress mit Hilfe von Plugins so einrichten, dass Worpdress die Emails über SMTP versendet. Ein sehr bekanntes und beliebtes Plugin dafür ist beispielsweise WP Mail SMTP.
Ich suche immer mal wieder gerne nach alternativen und bin auf die Möglichkeit gestoßen das ganze auch mit ein paar Zeilen Code zu erreichen. Here we go…
Schritt 1: wp-config.php
Füge folgende Zeilen deiner wp-config.php hinzu (oberhalb des Abschnittes /* That’s all, stop editing! Happy publishing. */ )
// SMTP Einstellungen
define( 'SMTP_USER', 'user@example.com' ); // Dein SMTP Benutzername
define( 'SMTP_PASS', 'smtp password' ); // Dein SMTP Passwort
define( 'SMTP_HOST', 'smtp.example.com' ); // Der Hostname des Email-Servers
define( 'SMTP_FROM', 'website@example.com' ); // Absenderadresse
define( 'SMTP_NAME', 'e.g Website Name' ); // Absendername
define( 'SMTP_PORT', '25' ); // SMTP Port Nummer - je nach dem 25, 465 oder 587
define( 'SMTP_SECURE', 'tls' ); // Verschlüsselung - SSL oder TLS
define( 'SMTP_AUTH', true ); // Benutze SMTP Anmeldung (true|false)
define( 'SMTP_DEBUG', 0 ); // nur zur Fehlersuche ändern zu 1 oder 2
Somit haben wir schon mal die SMTP Einstellungen definiert.
Schritt 2: functions.php
Um Wordpress jetzt auch noch beizubringen das ganze auch zu nutzen, schieben wir folgende Zeilen in die functions.php deines Child-Themes.
// Email SMTP
add_action( 'phpmailer_init', 'send_smtp_email' );
function send_smtp_email( $phpmailer ) {
$phpmailer->isSMTP();
$phpmailer->Host = SMTP_HOST;
$phpmailer->SMTPAuth = SMTP_AUTH;
$phpmailer->Port = SMTP_PORT;
$phpmailer->Username = SMTP_USER;
$phpmailer->Password = SMTP_PASS;
$phpmailer->SMTPSecure = SMTP_SECURE;
$phpmailer->From = SMTP_FROM;
$phpmailer->FromName = SMTP_NAME;
}
Wenn du testen willst ob das ganze auch funktioniert, rufe am einfachsten deine Passwort vergessen Funktion auf (https://deinedomain.de/wp-login.php?action=lostpassword).