Der Fehler:
Die Email kann nicht gesendet werden.
kommt von drupal_mail () und wird als sehr allgemein angesehen. Es kann sich auf viele verschiedene Dinge beziehen, wie z. B. eine Fehlkonfiguration Ihrer Drupal-Site, eine PHP-Konfiguration oder einen SMTP-Dienst Ihres Betriebssystems.
Das erste, was Sie tun müssen, ist, das Mail-System oder die Apache-Protokolle (z. B. /var/log/apache2/error.log) auf weitere Details zu dem Fehler zu überprüfen , da Sie ihn möglicherweise selbst vermissensendmail (es sei denn, Sie möchten einen externen SMTP-Dienst verwenden).
Wenn Ihr Drupal auf Ihrem dedizierten Server gehostet wird und es sich um eine brandneue Konfiguration handelt, fehlt höchstwahrscheinlich der SMTP-Server (da localhoststandardmäßig darauf verwiesen wird), es sei denn, Sie planen die Verwendung des externen Servers .
Wenn es sich um Ihren lokalen Entwicklungscomputer handelt, ignorieren Sie entweder den Fehler (da er auf dem dedizierten Server einwandfrei funktionieren sollte), installieren Sie MailCatcher , oder Sie müssen den SMTP-Server wie oben angegeben installieren.
Hier sind einige andere Vorschläge:
- Wenn Sie das SMTP-Modul verwenden , überprüfen Sie, ob Sie es richtig konfiguriert haben (siehe README-Datei ), einschließlich der richtigen Servereinstellungen .
- Überprüfen Sie den Wert der
mail_systemVariablen, falls diese überschrieben wurde. Setzen Sie ihn auf den Standardwert ( drush vdel mail_system) zurück.
- überprüfen Sie Ihre PHP - Mail - Konfiguration (
php -i | grep -ie mail -e smtp) und bestätigen , dass sendmail_path, SMTPHost und smtp_portrichtig sind,
Überprüfen Sie die Konnektivität zu Ihrem SMTP-Server, indem Sie telnetz
telnet $(php -r 'echo ini_get("SMTP") . " " . ini_get("smtp_port");')
um zu überprüfen, ob der Host nicht inaktiv, vom DNS aufgelöst oder nicht von der Firewall blockiert ist,
Wenn Sie verwenden postfix, überprüfen Sie, ob httpd_can_sendmailauf1 ( setsebool httpd_can_sendmail 1) gesetzt ist.
Testen Sie Ihre E-Mail abschließend mit dem folgenden PHP-Befehl:
php -r 'mail("drupal@mailinator.com", "Mail test", "It works!");'
und überprüfen Sie diese Seite, wenn die E-Mail empfangen wurde.