2mail — SMTP-Relay aus belgischer Infrastruktur

SMTP für Drupal — die E-Mails Ihrer Website, die ankommen

Standardmäßig versendet Drupal seine E-Mails über die PHP-Mailfunktion des Webservers: ohne Authentifizierung und ohne etablierte Reputation. Für Gmail und Outlook ist so eine Nachricht kaum von Spam zu unterscheiden — Kontoaktivierungen und E-Mails zum Zurücksetzen, die nicht ankommen, das ist die klassische Beschwerde.

Die saubere Lösung ist das SMTP-Modul von Drupal. Es ersetzt den Standardtransport durch eine Verbindung zu einem externen SMTP-Server, ohne dass Sie Ihre anderen Module oder Formulare anfassen müssen. Die fünf Felder unten sind alles, was das Modul braucht.

Warum es ohne Relay schiefgeht

Eine Drupal-Website ist oft mehr als eine Website: ein Mitgliederportal, ein Intranet, ein Antragsformular eines Vereins oder einer Verwaltung. Genau dort sind E-Mails unverzichtbar — wer sich registriert und keine Aktivierungs-E-Mail bekommt, gibt auf, und niemand meldet es Ihnen. Die Nachricht geht sehr wohl ab, wird aber unterwegs abgewiesen, weil nichts belegt, dass sie von Ihrer Domain stammt.

SMTP in Drupal einrichten

1

Zugangsdaten abrufen

Melden Sie sich in Ihrem 2mail-Konto an und rufen Sie dort Ihren SMTP-Server, Benutzernamen und Ihr Passwort ab.

2

In Drupal eintragen

Installieren und aktivieren Sie das SMTP-Modul von Drupal. In den Einstellungen dieses Moduls schalten Sie es als Transport ein, tragen Host, Port, Verschlüsselung, Benutzername und Passwort ein und setzen die Absenderadresse auf Ihre eigene Domain. Das Modul hat eine eingebaute Test-E-Mail: Senden Sie sie an eine externe Adresse bei einem großen Anbieter, nicht an eine Adresse auf Ihrem eigenen Server.

3

Domain authentifizieren

Sorgen Sie dafür, dass SPF, DKIM und DMARC für Ihre Domain korrekt gesetzt sind, damit Empfänger verifizieren können, dass die Mail von Ihnen stammt.

4

Testen

Senden Sie von Ihrer Plattform aus eine Testnachricht an eine Adresse bei einem großen Provider und prüfen Sie, ob sie im Posteingang ankommt und nicht im Spam-Ordner.

Die Felder, die Drupal abfragt

Jede Plattform nennt sie etwas anders, aber es geht immer um dieselben fünf. Die konkreten Werte sind kontogebunden und finden Sie in Ihrem 2mail-Konto — rufen Sie sie dort ab, damit Sie sicher die richtigen verwenden.

Feld Was Sie eintragen
SMTP-Server (Host)Der Servername aus Ihrem 2mail-Konto.
PortDer Port, der zu Ihrer gewählten Verschlüsselung gehört; Ihr Konto zeigt, welcher.
VerschlüsselungTLS. Senden Sie nie unverschlüsselt — sonst gehen Ihre Zugangsdaten lesbar über die Leitung.
BenutzernameDer SMTP-Login Ihres 2mail-Kontos.
PasswortDas zugehörige Passwort. Verwenden Sie nie das Passwort eines Mitarbeiterpostfachs.

SMTP-Konfiguration für Drupal im Code

Funktionierende Beispiele für Port 587 mit STARTTLS, direkt zum Übernehmen. Ersetzen Sie die Absenderadresse durch eine Adresse auf Ihrer eigenen Domain und prüfen Sie Servername und Login in Ihrem 2mail-Konto. Das Passwort gehört in eine Umgebungsvariable — nie in den Code und nie in die Versionsverwaltung.

Das SMTP-Modul installieren

Das Modul heißt mit vollem Namen SMTP Authentication Support und wird mit Composer installiert, wie heute jedes Drupal-Modul. Danach finden Sie die Einstellungen in der Verwaltung unter der Systemkonfiguration.

composer require drupal/smtp
drush en smtp -y

Einstellungen und Passwort über settings.php

Sie können alles im Formular des Moduls eintragen, aber dann landet das Passwort in der Konfiguration — und bei einem Konfigurationsexport damit in der Versionsverwaltung. Ein Override in settings.php hat Vorrang vor dem gespeicherten Wert, bleibt aus dem Export heraus und erlaubt Ihnen eigene Zugangsdaten pro Umgebung. Das Passwort selbst kommt aus einer Umgebungsvariable des Servers. Wählen Sie als Protokoll TLS: Das ist in diesem Modul STARTTLS, das zu Port 587 gehört; die Option SSL ist für Port 465.

// sites/default/settings.php (or settings.local.php per environment)

// Route all Drupal mail through the SMTP module.
$config['system.mail']['interface']['default'] = 'SMTPMailSystem';

$config['smtp.settings']['smtp_on'] = TRUE;
$config['smtp.settings']['smtp_host'] = 'relay.2mail.eu';
$config['smtp.settings']['smtp_port'] = '587';
$config['smtp.settings']['smtp_protocol'] = 'tls';   // "Use TLS" in the form = STARTTLS
$config['smtp.settings']['smtp_username'] = getenv('SMTP_USERNAME');
$config['smtp.settings']['smtp_password'] = getenv('SMTP_PASSWORD');
$config['smtp.settings']['smtp_from'] = 'noreply@example.com';
$config['smtp.settings']['smtp_fromname'] = 'Example';

Mit Drush prüfen

Overrides aus settings.php sehen Sie im Formular nicht: Es zeigt den gespeicherten Wert. Fragen Sie deshalb mit Drush ab, was tatsächlich gilt, und senden Sie danach die Test-E-Mail, die das Modul unten auf seiner Einstellungsseite anbietet. Scheitert sie, steht die eigentliche Ursache im Protokoll und nicht auf dem Bildschirm.

drush cache:rebuild

# Which mail system is active, and which host does Drupal really use?
drush config:get system.mail interface.default --include-overridden
drush config:get smtp.settings smtp_host --include-overridden

# What the module logged about failed deliveries (needs the dblog module):
drush watchdog:show --type=smtp

Welche Mails Drupal sendet

Sobald das Relay eingerichtet ist, laufen diese alle über 2mail — Sie müssen sie nicht einzeln konfigurieren.

Kontoaktivierung und Passwort-Zurücksetzen
Nachrichten aus Kontaktformularen und Webformularen
Benachrichtigungen über neue Inhalte, Kommentare oder Workflow-Schritte
Statusberichte und Sicherheitsalarme an die Administratoren
Newsletter oder Zusammenfassungen, die von der Website versendet werden

Stolperfallen bei Drupal

Das Modul muss wirklich der Mailer sein

Drupal kann mehrere Mailsysteme nebeneinander betreiben. Ist das SMTP-Modul installiert, aber nicht als Transport aktiviert, läuft weiterhin alles über die PHP-Mailfunktion und nichts ändert sich. Prüfen Sie das zuerst, wenn die Test-E-Mail ankommt, die echten E-Mails aber nicht.

Absender auf Ihrer eigenen Domain

Die E-Mail-Adresse der Website steht in den Grundeinstellungen und dient als Absender. Setzen Sie sie auf eine Adresse Ihrer eigenen Domain — derselben Domain, für die SPF, DKIM und DMARC eingerichtet sind. Eine Gratis-Adresse fällt bei DMARC durch, so korrekt die SMTP-Einstellungen auch sind.

Konfigurationsexport und Passwörter

Wenn Sie mit der Konfigurationsverwaltung arbeiten, reisen die SMTP-Einstellungen im Export mit. Überschreibt ein Import sie mit den Werten einer Testumgebung, sendet Ihre Produktionswebsite plötzlich mit falschen Daten. Halten Sie das Passwort aus dem Export heraus und legen Sie es pro Umgebung separat fest.

Häufige Fehlermeldungen bei Drupal

Die Meldungen, die Sie sehen, wenn Host, Port, Verschlüsselung oder Login nicht stimmen — im Wortlaut, damit Sie sie in Ihrem Log wiedererkennen, mit Ursache und Lösung daneben.

Meldung Ursache Lösung
Unable to send email. Contact the site administrator if the problem persists. Das ist die allgemeine Meldung von Drupal selbst, die nur besagt, dass der Versand gescheitert ist. Der eigentliche SMTP-Fehler steht im Protokoll, unter dem Typ smtp. Öffnen Sie die aktuellen Protokollmeldungen in der Verwaltung oder verwenden Sie drush watchdog:show --type=smtp, und suchen Sie dort nach einer der Meldungen unten.
SMTP Error: Could not connect to SMTP host. Der Server erreicht das Relay nicht, oder Protokoll und Port passen nicht zusammen: SSL auf Port 587 gewählt, ein Tippfehler im Host oder ein Hoster, der ausgehenden Verkehr auf Port 587 blockiert. Stellen Sie das Protokoll auf TLS und den Port auf 587. Scheitert es weiterhin, testen Sie vom Server aus mit openssl s_client -starttls smtp -connect relay.2mail.eu:587 und lassen Sie Ihren Hoster den Port freigeben.
SMTP Error: Could not authenticate. Das Relay lehnt die Anmeldung ab: ein falscher Benutzername oder ein falsches Passwort, oder eine Umgebungsvariable, die innerhalb des Webservers leer ist, sodass der Override ein leeres Passwort übergibt. Prüfen Sie, ob getenv('SMTP_PASSWORD') innerhalb des Webservers einen Wert zurückgibt, und verwenden Sie den SMTP-Login aus Ihrem 2mail-Konto — nicht das Passwort eines Postfachs.
SMTP Error: The following recipients failed: … Die Anmeldung stimmt, aber das Relay lehnt die Nachricht bei der Angabe des Empfängers ab — in der Praxis, weil die Absenderadresse auf einer Domain liegt, die nicht mit Ihrem 2mail-Konto verknüpft ist. Oft ist die E-Mail-Adresse der Website noch eine Adresse des Hosters oder eine Gratis-Adresse. Setzen Sie sowohl die Absenderadresse im Modul als auch die E-Mail-Adresse der Website in den Grundeinstellungen auf eine Adresse einer Domain, die Sie in 2mail hinzugefügt haben.
SPF, DKIM & DMARC erklärt Über Zustellbarkeit

Andere Plattform?

SMTP ist ein Standardprotokoll: Jedes System, das SMTP spricht — ein CRM, ein ERP, eine eigene Anwendung oder ein Server —, kann über 2mail mit denselben fünf Feldern senden.

Häufige Fragen zu SMTP für Drupal

Drupal versendet standardmäßig über die PHP-Mailfunktion des Webservers, ohne Authentifizierung und ohne Reputation. Die Nachricht geht zwar ab, wird aber unterwegs abgewiesen oder als Spam markiert, weil nichts belegt, dass sie von Ihrer Domain stammt. Ein SMTP-Relay mit korrekten SPF-, DKIM- und DMARC-Einträgen löst das.
Das SMTP-Modul von Drupal. Es fragt die generischen SMTP-Daten ab — Host, Port, Verschlüsselung, Benutzername und Passwort — und ersetzt den Standardtransport. An Ihren anderen Modulen oder Formularen müssen Sie nichts ändern.
Meistens ist das SMTP-Modul zwar installiert, aber nicht als Transport aktiviert, oder ein anderes Modul versendet auf eigenem Weg. Prüfen Sie, welches Mailsystem tatsächlich aktiv ist und ob es kein zweites Modul gibt, das E-Mails versendet.
In Ihrem 2mail-Konto, pro Anwendung. Sie sind kontogebunden, deshalb veröffentlichen wir sie nicht auf der Website. Legen Sie für Drupal am besten eigene Zugangsdaten an, damit Sie sie separat widerrufen und den Verkehr getrennt verfolgen können.
Trust Guard Security Scanned
Jetzt anrufen
E-Mail senden