Foto Von Neonbrand

SMTP in Wordpress ohne Plugin

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).

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert