Emailversand aus WordPress ohne SMTP Plugin

Veröffentlicht am:

2 Kommentare

Aus WordPress heraus E-mails versenden kann eine nervige Angelegenheit sein. Meistens ist das vom Webhoster abhängig, weil sehr oft den PHP basierten Mailversand deaktivieren. Das ist unter gewissen Aspekten nachvollziehbar, aber es löst das Problem des Seitenbetreibers nicht.

Es gibt eine ganze Reihe von Plugins, die das Versenden von E-mails aus WordPress heraus übernehmen. Von kostenlos bis ausgewachsener Tracking-Suite mit Anbindung an diverse Services ist alles vorhanden. Aber getreu dem Motto „weniger ist mehr“ wollen wir doch mal schauen, ob der Emailversand auch ohne ein zusätzliches Plugin möglich ist.

Codeschnipsel für Plugin-losen SMTP Versand

Ich empfehle generell den Einsatz des SMTP Protokolls, damit die Emails auch wirklich versandt werden und beim Adressaten ankommen. An zwei Stellen eurer Installation müsst ihr etwas ändern, wenn ihr aus WordPress Emails über das SMTP Protokoll versenden wollt.

1. Codeschnipsel für die wp-config.php

In der wp-config.php Datei im root-Bereich der WordPress Installation legt ihr die SMTP Daten als Konstanten fest. Das sollte auf jeden Fall vor der Zeile stehen, in der man gewarnt wird, ab hier nicht mehr zu editieren. Die entsprechenden Daten für das E-Mail-Konto erfahrt ihr beim Hoster.

define( 'SMTP_USER',   'user@example.com' );    // Benutzername für die SMTP-Authentifizierung
define( 'SMTP_PASS',   'smtp password' );       // Passwort für die SMTP-Authentifizierung
define( 'SMTP_HOST',   'smtp.example.com' );    // Der Hostname des Mailservers
define( 'SMTP_FROM',   'website@example.com' ); // SMTP Von E-Mail-Adresse
define( 'SMTP_NAME',   'e.g Website Name' );    // SMTP Von Name
define( 'SMTP_REPLY_TO_EMAIL', 'mueller@example.com' );   // "Reply-To" E-Mail-Adresse
define( 'SMTP_REPLY_TO_NAME', 'Lieschen Müller' );   // "Reply-To" Name
define( 'SMTP_PORT',   '25' );                  // SMTP-Portnummer - wahrscheinlich 25, 465 oder 587
define( 'SMTP_SECURE', 'tls' );                 // Zu verwendendes Verschlüsselungssystem - ssl oder tls
define( 'SMTP_AUTH',    true );                 // SMTP-Authentifizierung verwenden (true|false)
define( 'SMTP_DEBUG',   0 );                    // nur für Debugging-Zwecke auf 1 oder 2 setzen

Codeschnipsel für die functions.php

Nun müsst ihr noch den folgenden Codeschnipsel in die Datei functions.php des aktiven Themes eintragen. Achtung: Bei einer Aktualisierung des Themes wird die functions.php (und damit auch eure Änderung) sehr wahrscheinlich überschrieben. Um das zu vermeiden, könnt ihr mit einem Child-Theme arbeiten oder aber ein Plugin wie Code Snippets einsetzen.

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;
	$phpmailer->AddReplyTo( SMTP_REPLY_TO_EMAIL, SMTP_REPLY_TO_NAME );
	}

Diese Funktion klinkt sich in den Mailing-Prozess von WordPress ein und stellt die SMTP Zugriffsdaten für das Mailkonto zur Verfügung. Die benötigten Konstanten habt ihr bereits in der wp-config.php festgelegt, womit diese gleich als erstes geladen werden und danach systemweit zur Verfügung stehen.

Alternativen

Wer dennoch lieber auf ein Plugin setzt, findet zum Beispiel mit WP Mail SMTP von WPForms eine zuverlässige Lösung.

Bitte beachten Sie: die Informationen in diesem Artikel wurden zum Zeitpunkt seiner Erstellung nach bestem Wissen und Gewissen zusammengetragen, aufbereit und niedergeschrieben.
Diese können heute, abhängig vom Zeitpunkt der Veröffentlichung und des behandelnden Themas, überholt und ungültig sein.
Es obliegt den Lesern, diese Inhalte mit dem aktuellen Wissensstand abzugleichen.

Artikel online seit: 2 Jahren 6 Monaten 4 Tagen
Letzte Änderung: 17.05.2023

2 Gedanken zu „Emailversand aus WordPress ohne SMTP Plugin“

  1. Hallo Lars! Könnte ich auf diesem Weg auch generell einen Reply-To Header mit konfigurieren? Wie müssten die beiden Schnipsel ergänzt werden? Vielen Dank,
    Lin

Kommentare sind geschlossen.