Sicherer E-Mail-Versand in WordPress: SMTP-Konstanten für WP Mail SMTP in der wp-config.php hinterlegen

Veröffentlicht am:

Keine Kommentare

Einführung: Sicherer E-Mail Versand mit WordPress

Heute ist es unerlässlich, SMTP oder einen Dienstleister zu nutzen, um sicherzustellen, dass E-Mails aus Formularen zuverlässig verschickt und empfangen werden. Die Zeiten, in denen E-Mails einfach mal so aus einer WordPress-Seite versendet werden konnten ( hallo mail() ), sind vorbei.

Warum SMTP oder E-Mail-Dienstleister notwendig sind

Nun muss man unterscheiden, denn Mailversand ist nicht gleich Mailversand.
Für ein hohes E-Mail-Aufkommen, wie bei Newslettern oder Bestellsystemen, bieten sich Dienste wie Amazon SES, SendGrid oder das in Deutschland beheimatete Cleverreach an. Diese Anbieter sind auf den Massenversand von E-Mails spezialisiert. Bei einem shared Webhosting Paket ist schnell Schluss mit lustig, sobald man die Grenzen des Üblichen überschreitet.
Im Normalfall reicht jedoch ein E-Mail-Postfach beim Webhoster aus.

Verbindung von E-Mail Postfächern mit WordPress

Die Anbindung eines E-Mail-Postfachs mit WordPress übernehmen spezielle Plugins. Das bekannteste ist WP Mail SMTP von WPForms, welches mittlerweile von über 3 Millionen Webseiten genutzt wird.
In der kostenlosen Version führt ein Assistent durch die Einrichtung und ermöglicht die Integration verschiedener E-Mail-Dienste. Die Pro-Version bietet zusätzliche Funktionen wie ein Berichterstattungsmodul oder einen regelbasierten Versand.

Sichere E-Mail-Einstellungen in der wp-config.php

Um zu verhindern, dass jeder Administrator in WordPress die Mail-Einstellungen ändern kann, bietet WP Mail SMTP unter anderem die Möglichkeit, die Zugangsdaten zum jeweiligen Maildienst in die wp-config.php-Datei auszulagern. Nach der Auslagerung lassen sich diese Daten nicht mehr über das WordPress Backend ändern. Unter dem Reiter Einstellungen sind alle Optionen aus der wp-config.php-Datei vorbelegt und nicht mehr editierbar.

Im folgenden Screenshot wird das eben Geschriebene gezeigt (Einstellungen ausgegraut). Der Übersichtlichkeit halber habe ich den Screenshot nachbearbeitet und unwichtige Passagen entfernt.

Die Einstellungen von WP Mail SMTP sind nach dem Auslagern der Zugangsdaten nicht mehr editierbar


Hier ein Beispielcode für den reinen SMTP-Versand, angepasst aus der offiziellen Dokumentation des Plugins:

define( 'WPMS_ON', true ); // true schaltet Verwendung von Konstanten aktiv
define( 'WPMS_MAIL_FROM', 'irgendwas@beispiel.de' ); // versendende E-Mail Adresse
define( 'WPMS_MAIL_FROM_FORCE', true ); // true erzwingt Verwendung der E-Mail Adresse
define( 'WPMS_MAIL_FROM_NAME', 'Webseite xxx' ); // versendender Name
define( 'WPMS_SET_RETURN_PATH', true ); // true setzt $phpmailer->Sender
define( 'WPMS_MAIL_FROM_NAME_FORCE', true ); // true erzwingt versendenden Namen
define( 'WPMS_SMTP_HOST', 'beispielserver.de' ); // der SMTP Mailserver
define( 'WPMS_SMTP_PORT', 587 ); // der Port des SMTP Mailservers
define( 'WPMS_SSL', 'tls' ); // mögliche Werte '', 'ssl', 'tls' - wichtig- TLS ist nicht STARTTLS
define( 'WPMS_SMTP_AUTH', true ); // true aktiviert Authentifizierung am Mailserver
define( 'WPMS_SMTP_USER', 'beispielnutzer' ); // SMTP Benutzer, funktioniert nur, wenn WPMS_SMTP_AUTH auf true gesetzt ist
define( 'WPMS_SMTP_PASS', 'beispielpasswort' ); // SMTP Passwort, funktioniert nur, wenn WPMS_SMTP_AUTH auf true gesetzt ist
define( 'WPMS_SMTP_AUTOTLS', true ); // true aktiviert automatisches TLS
define( 'WPMS_MAILER', 'smtp' ); // Art des Mailversandes

Testen des E-Mail-Versands

Nach dem Einfügen und Anpassen des Codes in der wp-config.php, sollte man eine Test-E-Mail über WP Mail SMTP senden. Diese Funktion findet man im WordPress-Backend unter WP Mail SMTP -> Werkzeuge -> E-Mail-Test.

WP Mail SMTP Plugin: Versenden einer Test-E-Mail

Temporäre Rückkehr zu den Standardeinstellungen

Um vorübergehend wieder die Standardeinstellungen des Plugins zu nutzen, ohne alle Befehle aus der WordPress-Konfigurationsdatei zu löschen, reicht es, die erste Konstante zu ändern:

define( 'WPMS_ON', false );

Durch das Setzen des Wertes auf false werden die weiteren Angaben in der wp-config.php vom WP Mail SMTP Plugin nicht mehr berücksichtigt.

Sicherheitsüberlegungen und Admin-Rechte

Die zusätzliche Sicherheit durch diese Maßnahme kann diskutiert werden. Die Begründung des Pluginanbieters für diese Methode zeigt meines Erachtens auch, wie wichtig es ist, Administratorrechte sparsam zu vergeben!
Sollte ein Admin-Nutzer dennoch kompromittiert werden, kann er die SMTP-Daten nicht ändern, da dies FTP-Zugang oder die Kontrolle über die Verwaltungsoberfläche des Webhosters erfordert. Noch sicherer wäre es, wenn das WP Mail SMTP Plugin die Daten nicht nur ausgrauen, sondern gar nicht mehr anzeigen würde.

Die Methode des SMTP Mailversandes ganz ohne Plugin habe ich in diesem Artikel beschrieben.

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 Tagen
Letzte Änderung: 09.07.2024

Schreibe einen Kommentar