E-Mail-Versand von WordPress über SMTP zuverlässig einrichten
WordPress-E-Mails zuverlässig per SMTP versenden: eigenes Postfach, WP Mail SMTP mit Zugangsdaten in der wp-config.php, erzwungener Absender mit Reply-To, Testversand per WP-CLI und die typischen Fehlermeldungen.
Mit KI erstellt – redaktionelle Prüfung ausstehend
WerbelinksMit * markierte Links sind Werbelinks: Bei einem Kauf erhalten wir eine Provision, der Preis bleibt gleich. Mehr dazu

WordPress verschickt ständig E-Mails: Kontaktanfragen, Passwort-Links, Bestellbestätigungen, Hinweise auf Updates und Warnungen bei kritischen Fehlern. Standardmäßig übergibt WordPress diese Nachrichten an die PHP-Funktion mail() und damit an das lokale Sendmail-Programm des Servers. Das funktioniert auf manchen Hostings, auf anderen gar nicht, und oft landen die Nachrichten im Spam, weil sie von einem Server kommen, der nicht zu Ihrer Absenderdomain gehört. Zuverlässiger ist der Versand über das Postfach, das Sie ohnehin nutzen: per SMTP mit Anmeldung, Verschlüsselung und einer Absenderadresse Ihrer eigenen Domain. Diese Anleitung zeigt die Einrichtung mit dem Plugin WP Mail SMTP, die sichere Ablage der Zugangsdaten in der wp-config.php, den Testversand und die Fehlersuche.
Voraussetzungen
- WordPress: WP Mail SMTP 4.10.0 verlangt laut wordpress.org mindestens WordPress 5.5 und ist bis 7.1.2 getestet. Geprüft mit WordPress 7.1.2.
- PHP: mindestens 7.4 laut Plugin-Seite, im Test PHP 8.4.
- Postfach: ein E-Mail-Konto auf Ihrer Domain mit SMTP-Zugang. Server, Port, Verschlüsselung und Benutzername stehen in der Hilfe Ihres Mailanbieters. Bei Konten mit Zwei-Faktor-Anmeldung brauchen Sie meist ein App-Passwort.
- DNS: Zugriff auf die DNS-Einträge der Domain oder jemand, der SPF und DKIM prüfen kann.
- Zugriff: Benutzer mit der Rolle Administrator sowie SFTP oder SSH für die
wp-config.php. WP-CLI ist für die Tests hilfreich, aber nicht nötig. - Backup: eine Kopie der
wp-config.phpvor jeder Änderung. - Netzwerk: Der Webserver muss ausgehende Verbindungen auf Port 587 oder 465 zulassen. Manche Hoster sperren diese Ports; das klärt ein kurzer Test in Schritt 5.
Schritt 1: Postfach und Absenderdomain vorbereiten
Richten Sie für die Website ein eigenes Postfach ein, statt das persönliche Konto der Geschäftsführung zu verwenden. So bleibt ein geleaktes Passwort auf ein Postfach begrenzt, und Sie können es jederzeit ändern, ohne jemanden auszusperren. Die Absenderadresse muss zur Domain gehören, deren Mailserver Sie nutzen. Nur dann bestehen die Nachrichten die Prüfungen der Empfänger.
Prüfen Sie, ob für die Domain ein SPF-Eintrag existiert, der Ihren Mailanbieter erlaubt, und ob DKIM aktiv ist:
dig +short TXT ihre-domain.de | grep spf1
dig +short TXT _dmarc.ihre-domain.de
Den DKIM-Selektor nennt Ihr Mailanbieter; ohne ihn lässt sich der DKIM-Eintrag nicht gezielt abfragen. Wie SPF, DKIM und DMARC zusammenspielen, beschreibt die Anleitung Domain umziehen ohne Ausfall im Abschnitt zu den Mail-Einträgen.
Verifizieren: Sie können sich mit dem neuen Postfach im Webmail anmelden, und der SPF-Eintrag enthält den Mailanbieter.
Schritt 2: WP Mail SMTP installieren
Installieren Sie unter Plugins > Neues Plugin hinzufügen das Plugin „WP Mail SMTP by WPForms“ und aktivieren Sie es. Der Einrichtungsassistent, der danach startet, lässt sich überspringen; wir tragen die Werte in Schritt 3 direkt in die wp-config.php ein. Per WP-CLI:
wp plugin install wp-mail-smtp --activate
Das Plugin ersetzt nicht die WordPress-Funktion wp_mail(), sondern konfiguriert den eingebauten PHPMailer so, dass er per SMTP statt über mail() versendet. Alle Plugins, die wp_mail() nutzen, profitieren damit automatisch, auch Formular- und Shop-Plugins. Unter „E-Mail-Versandanbieter“ bietet es neben „Anderer SMTP-Server“ zahlreiche Anbieter mit eigener API an. Für ein normales Postfach bei einem deutschen Hoster ist „Anderer SMTP-Server“ die richtige Wahl.
Verifizieren: Im Menü erscheint „WP Mail SMTP“ mit den Unterpunkten „Einstellungen“, „E-Mail-Protokoll“ und „Werkzeuge“.
Schritt 3: Zugangsdaten in der wp-config.php hinterlegen
Sie können alle Werte unter „WP Mail SMTP > Einstellungen“ eintragen. Das Plugin speichert das Passwort dann verschlüsselt in der Datenbank, den Schlüssel dafür aber standardmäßig ebenfalls in der Datenbank (Option wp_mail_smtp_mail_key). Wer einen Datenbank-Dump in die Hände bekommt, hat damit beides. Sicherer sind Konstanten in der wp-config.php: Sie liegen außerhalb der Datenbank, landen nicht in Datenbank-Backups und lassen sich im Backend nicht versehentlich überschreiben. Setzen Sie WPMS_ON auf true, damit das Plugin die Konstanten verwendet.
Sichern Sie die Datei, bevor Sie sie ändern, und tragen Sie die Zeilen oberhalb von /* That's all, stop editing! Happy publishing. */ ein:
define( 'WPMS_ON', true );
define( 'WPMS_MAILER', 'smtp' );
define( 'WPMS_SMTP_HOST', 'smtp.ihr-mailanbieter.de' );
define( 'WPMS_SMTP_PORT', 587 );
define( 'WPMS_SSL', 'tls' ); // 'tls' für 587, 'ssl' für 465
define( 'WPMS_SMTP_AUTH', true );
define( 'WPMS_SMTP_AUTOTLS', true );
define( 'WPMS_SMTP_USER', 'website@ihre-domain.de' );
define( 'WPMS_SMTP_PASS', 'IHR-POSTFACH-PASSWORT' );
define( 'WPMS_MAIL_FROM', 'website@ihre-domain.de' );
define( 'WPMS_MAIL_FROM_FORCE', true );
define( 'WPMS_MAIL_FROM_NAME', 'Firma Mustermann GmbH' );
Port 587 mit tls nutzt STARTTLS: Die Verbindung beginnt unverschlüsselt und wird vor der Anmeldung verschlüsselt. Port 465 mit ssl verschlüsselt von Anfang an. Welche Variante Ihr Anbieter unterstützt, steht in seiner Hilfe; beide sind sicher, wenn sie korrekt gesetzt sind. Ein kleiner Stolperstein aus dem Test: Werte mit Leerzeichen, etwa der Absendername, setzen Sie per WP-CLI in Anführungszeichen (wp config set WPMS_MAIL_FROM_NAME "Firma Mustermann GmbH"). Kontrollieren Sie die Datei danach immer mit php -l, denn ein Syntaxfehler legt die ganze Website lahm.
Schränken Sie die Dateirechte ein, damit andere Benutzer auf dem Server das Passwort nicht lesen können. Hinweise dazu enthält Dateirechte richtig setzen.
Verifizieren: php -l wp-config.php meldet „No syntax errors detected in wp-config.php“. Unter „WP Mail SMTP > Einstellungen“ sind die Felder ausgegraut, weil die Werte aus den Konstanten kommen.
Schritt 4: Absender und Antwortadresse richtig trennen
Ohne Einstellung verschickt WordPress von wordpress@ plus Domainname. Solche Adressen existieren oft nicht, und der Quelltext von WordPress weist selbst darauf hin, dass manche Hoster sie blockieren. Mit WPMS_MAIL_FROM und WPMS_MAIL_FROM_FORCE erzwingen Sie die Adresse des Postfachs für alle ausgehenden Nachrichten, auch wenn ein Plugin eine andere vorgibt.
Das ist vor allem bei Kontaktformularen wichtig. Setzt ein Formular die Adresse des Besuchers als Absender, versendet Ihr Server E-Mails im Namen fremder Domains; die Empfänger werten das als Fälschung. Richtig ist: Absender ist Ihr Postfach, die Adresse des Besuchers steht in „Reply-To“. Im Test haben wir eine Nachricht mit „From: besucher@…“ und „Reply-To: besucher@…“ verschickt. Beim Empfänger kam an:
From: Besucher <website@firma.example>
Reply-To: Besucher <besucher@gmail.example>
Return-Path: <website@firma.example>
Die Absenderadresse wurde ersetzt, die Antwortadresse blieb erhalten, und der Klick auf „Antworten“ im Mailprogramm geht an den Besucher. Da WPMS_MAIL_FROM_NAME_FORCE nicht gesetzt war, blieb der Name des Besuchers als Anzeigename stehen. Wie Sie Reply-To in Contact Form 7 setzen, zeigt die Anleitung Formulare in WordPress absichern.
Verifizieren: Eine Testanfrage über Ihr Kontaktformular kommt mit Ihrer Postfachadresse als Absender an, und „Antworten“ adressiert den Besucher.
Schritt 5: Testversand durchführen
Öffnen Sie WP Mail SMTP > Werkzeuge, Reiter „E-Mail-Test“, tragen Sie unter „Empfänger“ eine Adresse bei einem anderen Anbieter ein und klicken Sie auf „E-Mail senden“. Per WP-CLI geht es schneller:
wp wp-mail-smtp test ihre.adresse@example.org --plain
Im Labor lieferte das bei korrekter Konfiguration „Success: Test-E-Mail wurde über den Mailer „smtp“ an empfaenger@example.org gesendet.“ Die Nachricht kam mit dem erzwungenen Absender an. Öffnen Sie die Testmail beim Empfänger und sehen Sie in den Kopfzeilen (in vielen Programmen „Original anzeigen“) nach, ob SPF und DKIM mit „pass“ bewertet wurden. Steht dort „fail“ oder „softfail“, passt die Absenderadresse nicht zum Mailserver oder der DNS-Eintrag fehlt.
Möchten Sie den Versand gefahrlos testen, ohne echte Empfänger zu erreichen, etwa auf einer Staging-Kopie, fangen Sie alle E-Mails mit einem Testserver ab. Die Anleitung Mailpit per Docker Compose einrichten zeigt das; im Labor dieser Anleitung haben wir genau so gearbeitet.
Verifizieren: Die Testmail ist im Posteingang, nicht im Spam, und die Kopfzeilen zeigen SPF und DKIM mit „pass“.
Schritt 6: Versand im Betrieb überwachen
Ein einmal funktionierender Versand kann später ausfallen: Das Postfach-Passwort wird geändert, der Anbieter stellt die Anmeldung um, der Hoster sperrt einen Port. WordPress selbst meldet fehlgeschlagene Mails nicht sichtbar, es löst nur die Aktion wp_mail_failed aus. Der Menüpunkt „E-Mail-Protokoll“ des Plugins zeigt in der kostenlosen Version nur einen Hinweis auf die kostenpflichtige Pro-Version; ein Protokoll aller Mails erhalten Sie damit nicht. Planen Sie deshalb eine einfache Kontrolle ein: Nach jedem Passwortwechsel und nach Updates von WordPress oder dem Plugin eine Testmail senden, und das Kontaktformular einmal im Monat selbst ausprobieren.
Mailversand, Plugin-Updates und diese Kontrollen gehören zur regelmäßigen Pflege der Website. Wer sie nicht selbst im Kalender halten möchte, kann sie abgeben: Die WordPress-Wartung von wordpressupdate.de übernimmt Updates von WordPress, Plugins und Themes mit Kompatibilitätsprüfung sowie wöchentliche Backups auf externen Speicher.
Verifizieren: Im Kalender stehen feste Termine für den Testversand, und nach dem letzten Update kam eine Testmail an.
Typische Fehler
| Meldung | Ursache | Lösung |
|---|---|---|
SMTP Error: Could not connect to SMTP host. Failed to connect to server | Falscher Host oder Port, Port vom Hoster gesperrt, Server nicht erreichbar | Werte beim Mailanbieter prüfen, anderen Port (465/587) testen, Hoster fragen |
SMTP Error: Could not authenticate. | Falsches Passwort, Benutzername nicht die volle Adresse, App-Passwort nötig | Anmeldung im Webmail prüfen, App-Passwort erzeugen |
sendmail: can't connect to remote host (127.0.0.1): Connection refused | WordPress nutzt noch mail(), lokal ist kein Mailserver aktiv | WPMS_ON und WPMS_MAILER prüfen |
PHP Parse error: syntax error nach Änderung | Fehlendes Anführungszeichen in der wp-config.php | Kopie zurückspielen, php -l nutzen |
| Mails landen im Spam | SPF oder DKIM fehlen, Absender passt nicht zur Domain | DNS prüfen, WPMS_MAIL_FROM_FORCE setzen |
Die ersten beiden Meldungen haben wir im Labor mit einem abweichenden Port und einem falschen Passwort erzeugt, die dritte beim Versand ohne SMTP-Konfiguration.
Häufige Fragen
Geht es auch ohne Plugin?
Ja. WordPress stellt die Aktion phpmailer_init bereit, über die ein kleines Must-Use-Plugin den PHPMailer auf SMTP umstellt. Sie verlieren dann den Testversand im Backend und müssen den Code selbst pflegen. Für die meisten kleinen Unternehmen ist das Plugin der wartungsärmere Weg.
Welcher Port ist richtig, 587 oder 465?
Beide sind für den verschlüsselten Versand vorgesehen. Entscheidend ist, was Ihr Mailanbieter anbietet und was der Hoster ausgehend zulässt. Port 25 ist für den Versand von Clients ungeeignet und bei vielen Hostern gesperrt.
Kann ich Microsoft 365 oder Gmail nutzen?
Das Plugin bietet dafür eigene Versandanbieter mit OAuth-Anmeldung, die ohne gespeichertes Postfach-Passwort auskommen. Die Einrichtung erfordert eine App-Registrierung beim jeweiligen Anbieter und ist nicht Teil dieser Anleitung.
Was passiert mit E-Mails auf der Staging-Kopie?
Übernimmt die Staging-Kopie die Konstanten, verschickt sie echte Mails an echte Kunden. Setzen Sie dort einen Testserver wie Mailpit ein oder deaktivieren Sie den Versand.
Testumfang
Wir haben die Einrichtung unter WordPress 7.1.2 in einer Testumgebung durchgespielt, die Konfiguration lief über die WPMS_-Konstanten. Der Testversand klappte, und trotz erzwungenem Absender blieb die Reply-To-Adresse erhalten. Verschlüsselung, echte Zustellung sowie SPF und DKIM bei einem echten Anbieter haben wir nicht geprüft. Testen Sie diese Punkte deshalb selbst mit Ihrem Anbieter, bevor Sie die Umstellung auf der Live-Seite vornehmen.
Fazit
Mit einem eigenen Postfach, SMTP über Port 587 oder 465, Zugangsdaten in der wp-config.php und einem erzwungenen Absender kommen die E-Mails Ihrer Website zuverlässig an. Entscheidend sind die saubere Trennung von Absender und Antwortadresse und regelmäßige Testmails, damit ein Ausfall nicht erst durch verlorene Anfragen auffällt. Wer diese Kontrollen samt Updates abgeben möchte, findet sie in der WordPress-Wartung von Marcel Schönfelder.


