Für einen Kunden habe ich gerade eine Subdomain bei IONOS eingerichtet, um dort den Relaunch zu entwickeln. Doch die E-Mail-Benachrichtigung für das Benutzerkonto der Designerin kam nicht an. Erst dachte ich an einen unvollständigen SPF-Eintrag, aber auch nach dessen Erweiterung klappte es nicht. Nach einer Stunde gab ich auf und fragte den Support via X (Twitter) und die Lösung ist verständlich und doch unglücklich.
Seit dem 29.01.2024 versendet IONOS nämlich nur dann eine E-Mail, wenn über die korrekte Domain versendet wird. Bei einer Subdomain-Installation verwendet WordPress jedoch standardmäßig die Subdomain. IONOS lehnt dann das Versenden ab.
Ihr IONOS Vertrag enthält die Domain example.com. Sie haben auf dem dazugehörigen Webspace ein Skript installiert, das den Inhalt eines Kontaktformulars als E-Mail an Sie verschickt. Als Absenderadresse verwenden Sie eine E-Mail-Adresse von Gmail (Google Mail) mit der Endung @gmail.com.
IONOS
Ab dem 29.01.2024 können Sie nur noch Absenderadressen in Ihrem Skript verwenden, die auf @example.com enden. E-Mails mit anderen Absendern werden nicht zugestellt. Der IONOS Postausgangsserver (SMTP) Server übermittelt in diesem Fall den folgenden Fehlercode: Sender address is not allowed
Ein Test mit dem Health-Check-Plugin zeigt entsprechend den Fehler: Could not instantiate mail function.
Die Lösung ist sehr einfach. Der geschätzte Kollege Bernhard Kau hat über den hilfreichen Snippet bereits gebloggt:
// Change the default "from name"
function wp_email_set_from_name( $from_name ) {
if ( 'WordPress' === $from_name ) {
return 'Dein Name';
}
return $from_name;
}
add_filter( 'wp_mail_from_name', 'wp_email_set_from_name' );
// Change the default "from email"
function wp_email_set_from_email( $from_email ) {
if ( false !== strpos( $from_email, 'wordpress@' ) ) {
return 'dein-name@deine-domain.tld';
}
return $from_email;
}
add_filter( 'wp_mail_from', 'wp_email_set_from_email' );
Sobald der Absender auf die Domain umgestellt ist („from email“), gehen die E-Mails auch wieder raus.
Es ist verständlich, dass mehr gegen Spam getan wird und die Idee gänzlich fremde Domains nicht zu erlauben ist auch okay, aber Subdomains ebenfalls zu sperren ist schon hart. Auch wenn es leicht zu „Reparieren“ ist, so muss der Fehler ja erstmal identifiziert und verstanden werden. Ich hoffe, ich habe jemanden die Recherche erleichert. Wenn ja, dann nutzt doch die gewonnene Zweit und postet kurz ein „Danke!“ in die Kommentare. Dann weiß ich, dass es geholfen hat! Danke. ☺️
Mich hat das Problem zwar nicht betroffen, aber sollte das der Fall einmal sein, bedanke ich mich jetzt schon vielmals. Anderen wird es sicherlich helfen: daher Danke!
Danke für die Info. 👍
Das brauch ich zwar aktuell noch nicht, aber ich habe den Link auf diesen Beitrag auf jeden Fall gebookmarkt.
Danke Torsten, auf sowas muss man bei der Fehleranalyse erstmal kommen… ab jetzt: bei Subdomains aufpassen. Gilt das auch für Multisites, frag ich mich gerade?
Viele Grüße,
Bernd Schmitt
Hallo, seit einigen Tagen habe ich auch das Problem, nur verwende ich kein WordPress, etc…
Seit der „PHP-Version 8“ funktionieren meine Mailfunktionen nicht mehr und PHP erklärt, sie haben den Mail-Header noch sicherer gemacht und Leerzeilen im Header sind nicht mehr erlaubt. Auch sollte man jetzt anstelle von „\r\n“ das „PHP_EOL“ nutzen!
Nach korrekter Anpassung funktioniert die Mailfunktion leider trotzdem nicht und es gibt auch keine Fehlermeldung. Durch diesen Beitrag weiß ich jetzt auch den Grund dafür. Danke!
Vielen Dank für die Info und an den Kollegen Bernhard Kau für seine tollen Plugins.
Wir verwenden eines davon auch schon auf vielen unseren Seiten.
Das Language Fallback-Plugin für formelle deutsche Seiten.