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

<?php // 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.

<?php // 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).

Hinterlasse einen Kommentar