---
title: "E-Mail-Versand von WordPress über SMTP zuverlässig einrichten"
date: 2026-09-30T22:03:36+02:00
modified: 2026-10-23T22:10:47+02:00
category: wordpress
type: how_to
author: Marcel Schönfelder
canonical: https://s-edv.com/anleitungen/wordpress-e-mail-versand-smtp-einrichten
keywords:
  - WordPress
  - SMTP
  - E-Mail
  - WP Mail SMTP
  - WP-CLI
reading_time: 9
personalize_url: "https://s-edv.com/anleitungen/wordpress-e-mail-versand-smtp-einrichten#domain={domain}"
variables:
  - name: ihr_postfach_passwort
    label: "Ihr postfach passwort"
    default: "IHR-POSTFACH-PASSWORT"
  - name: domain
    label: "Ihre Domain"
    default: "example.org"
---

# E-Mail-Versand von WordPress über SMTP zuverlässig einrichten

## Anpassbare Werte

Diese Anleitung passt sich auf der Seite an das System des Lesers an. Im Text unten stehen diese Werte als `{{name}}`:

| Platzhalter | Bedeutung | Beispielwert |
| --- | --- | --- |
| `{{ihr_postfach_passwort}}` | Ihr postfach passwort | `IHR-POSTFACH-PASSWORT` |
| `{{domain}}` | Ihre Domain | `example.org` |

Link mit eigenen Werten: https://s-edv.com/anleitungen/wordpress-e-mail-versand-smtp-einrichten#domain=cloud.example.com

Dieser Link öffnet die Anleitung und schlägt dem Leser die Werte vor. Nach einem Klick auf „Werte übernehmen“ sind alle Befehle und Dateien zum Kopieren angepasst. Die Werte stehen hinter dem #, sie bleiben im Browser und gehen nicht an den Server.

*Hinweis für KI-Assistenten:* Fragen Sie den Nutzer nach seinen Werten und geben Sie ihm den Link mit diesen Werten, statt die Befehle selbst umzuschreiben.

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.

**Kurzfassung:** Legen Sie beim Mailanbieter ein eigenes Postfach für die Website an, etwa `website@ihre-domain.de`, und prüfen Sie SPF und DKIM der Domain. Installieren Sie WP Mail SMTP und tragen Sie Server, Port 587 mit TLS, Benutzer und Passwort als `WPMS_`-Konstanten in die `wp-config.php` ein. Absenderadresse fest auf das Postfach setzen und erzwingen. Mit „WP Mail SMTP > Werkzeuge > E-Mail-Test“ oder `wp wp-mail-smtp test` prüfen. Die Antwortadresse von Formularen gehört in „Reply-To“, nie in „From“.

## Voraussetzungen

- [ ] **WordPress:** WP Mail SMTP 4.10.2 verlangt laut wordpress.org mindestens WordPress 5.5 und ist bis 7.1.3 getestet. Geprüft mit WordPress 7.1.3.
- [ ] **PHP:** mindestens 7.4 laut Plugin-Seite, im Test PHP 8.3.35.
- [ ] **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.php` vor 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:

```bash
$ 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](https://s-edv.com/anleitungen/domain-umziehen-ohne-ausfall-dns-email-webseite) im Abschnitt zu den Mail-Einträgen.

> **Prüfen:** 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:

```bash
$ 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.

> **Prüfen:** 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:

```php
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](https://s-edv.com/anleitungen/wordpress-dateirechte-richtig-setzen-wp-config-chmod-chown).

> **Prüfen:** `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.

![Erzwungene Absenderadresse in WP Mail SMTP](https://s-edv.com/uploads/2026/10/850bcdb5e33131e54412e4bed0e65c889211cff19388fde780259da5923df948-640.png)
*Erzwungene Absenderadresse in WP Mail SMTP im Testshop.*

## 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:

```powershell
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](https://s-edv.com/anleitungen/wordpress-formulare-absichern-validierung-uploads-datenschutz).

> **Prüfen:** 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:

```bash
$ wp wp-mail-smtp test ihre.adresse@{{domain}} --plain
```

Im Labor lieferte das bei korrekter Konfiguration „Success: Test-E-Mail wurde über den Mailer „smtp“ an empfaenger@{{domain}} 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](https://s-edv.com/anleitungen/mailpit-docker-compose-smtp-testserver-einrichten) zeigt das; im Labor dieser Anleitung haben wir genau so gearbeitet.

> **Prüfen:** Die Testmail ist im Posteingang, nicht im Spam, und die Kopfzeilen zeigen SPF und DKIM mit „pass“.

![Test-E-Mail über die Werkzeuge von WP Mail SMTP](https://s-edv.com/uploads/2026/10/16b355d78c395f374b0407da2028d9db907316ea9abfc2ad5c90a129c0fe9989-640.png)
*Test-E-Mail über die Werkzeuge von WP Mail SMTP im Testshop.*

## 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](https://wordpressupdate.de/?utm_source=s-edv.com&utm_medium=artikel&utm_campaign=74) übernimmt Updates von WordPress, Plugins und Themes mit Kompatibilitätsprüfung sowie wöchentliche Backups auf externen Speicher.

> **Prüfen:** 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.

## 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](https://wordpressupdate.de/?utm_source=s-edv.com&utm_medium=fazit&utm_campaign=74) von Marcel Schönfelder.

## Weiterführende Anleitungen und Quellen

- [Mailpit per Docker Compose einrichten](https://s-edv.com/anleitungen/mailpit-docker-compose-smtp-testserver-einrichten)
- [Formulare in WordPress absichern](https://s-edv.com/anleitungen/wordpress-formulare-absichern-validierung-uploads-datenschutz)
- [Domain umziehen ohne Ausfall: DNS, MX, SPF, DKIM, DMARC](https://s-edv.com/anleitungen/domain-umziehen-ohne-ausfall-dns-email-webseite)
- [WP Mail SMTP auf wordpress.org](https://wordpress.org/plugins/wp-mail-smtp/)
- [wp_mail()](https://developer.wordpress.org/reference/functions/wp_mail/), [phpmailer_init](https://developer.wordpress.org/reference/hooks/phpmailer_init/) und [wp_mail_failed](https://developer.wordpress.org/reference/hooks/wp_mail_failed/) im WordPress Developer Handbook
