Magento – eMails kommen nicht mehr an & gleichzeitig Mail-Queue umgehen

Seit einiger Zeit (bei uns Mitte November 2017) fiel auf, dass eMails von Magento-Shop bei diversen Emfpängern nicht mehr ankamen. Mehr oder weniger von einem Tag auf den anderen war Funkstille.

Es handelte sich hierbei jedoch nicht um ein generelles Problem. Der Magento-Shop sendete die Mails. Sie kamen nur nicht an. Auffällig oft wurden sie nicht bei Firmen-Mail-Adressen zugestellt. Bei Anbietern wie GMX funktionierte die Zustellung problemlos.

Auch im SPAM-Filter waren die Mails nicht hängen geblieben.

Nun haben wir uns auf die Fehlersuche gemacht und herausgefunden, dass die “Problem”-Mail-Anbieter eine Anpassung in deren Zustellungsanforderungen gemacht haben (unserer im November).

Einfach formuliert: Gibt es eine Mail, “pingt” der Mail-Server den Absender an. Geht der Ping ins Leere, wird die Mail nicht zugestellt. (GANZ einfach formuliert!)

Bei Magento war ja schon sehr auffällig, dass man jede gewünschte Mail-Adresse – auch welche mit denen man nichts zu tun hatte- einfach im Backend eintragen konnte und Shop-Mails dann augenscheinlich von dieser Adresse kamen. Erst ein Blick in den Mail-Header zeigte dann, dass dies nicht der wirkliche Absender war.

Für eine sichere Zustellung muss man sich also eines wirklich existierenden Mail-Kontos bedienen – und Zugriff darauf sollte man auch haben. Um dieses Konto nun in den eigenen Shop einzubinden, kann man sich der kostenlosen, lange bekannten und sehr performanten Extension SMTP-Pro von Ashley Schroder bedienen. Mit dieser schlägt man gleich zwei Fliegen mit einer Klappe, da sie nicht nur die Einbindung eines SMTP-Servers ermöglicht sondern auch die seit Magento 1.9 existierende Mail-Queue ausschalten kann, so dass Mails direkt versendet werden und nicht erst durch den CRON (s.a. hier).

Die Installation ist kein Problem und absoluter Standard. Die Einrichtung einfacher als seinen eigenen Mail-Klienten einzurichten (da nur der Ausgangsserver benötigt wird).

Anschließend funktioniert die Mail-Zustellung wieder wunderbar und das bei bislang allen getesteten Empfängern.

Bild

Sollte man übrigens die m.E. geniale PDF-Dokument-Extension PDF-Print von SNM Portal verwenden, gibt es hier einen Konflikt, den man aber schnell lösen kann.

Man öffnet die app/code/community/AuIt/Pdf/Model/Rewrite/Email/Template.php und ersetzt die Zeile

class AuIt_Pdf_Model_Rewrite_Email_Template extends Mage_Core_Model_Email_Template

durch

class AuIt_Pdf_Model_Rewrite_Email_Template extends Aschroder_SMTPPro_Model_Email_Template

In neueren Versionen der Extension ist die Zeile sogar schon vorhanden und muss nur noch aktiviert werden und die andere auskommentiert.

Update vom 01.03.2018

Nun wird es komisch: Bei der einen und anderen Magento-Installation fiel auf, dass nach Installation der SMTP Pro Extension keine Mails mehr geschickt wurde. Dies ist deswegen komisch, weil wir ja zuerst das Problem hatten, dass keine Mails ankamen ABER geschickt wurden. Nun werden plötzlich nicht einmal mehr Mails geschickt?
Uns fiel es in folgendem Zusammenhang auf. Wir hatten eine Shop-Installation mit zwei verschiedenen Shops. Der Hauptshop verschickte problemlos Mails, die auch ankamen. Beim zweiten Shop jedoch wurden keinerlei Mails geschickt (und kamen entsprechend auch nicht an). Nun kann man unter System > Werkzeuge > SMTPpro Log sehen ob und welche Mails geschickt wurden. Hier kamen nur Einträge für Shop 1 aber nicht für 2. Nun der nächste wichtige Schritt zur Fehlersuche: Mal die (var/)Exception.log bzw. System.log überprüfen (ggfs. erst noch im Backend aktivieren). Hier fanden wir in der Exception.log den Hinweis

exception ‘Zend_Mail_Protocol_Exception’ with message ‘5.7.1 : Sender address rejected: not owned by user XYZ

alternativ auch

exception 'Zend_Mail_Protocol_Exception' with message 'Connection refused' in /lib/Zend/Mail/Protocol/Abstract.php:277

Hier wird offensichtlich geprüft, ob die bei System > Kontakte hinterlegte Mail-Adresse, die als Absender der Bestellmails (etc.) verwendet wird, zum Server gehört. Gibt es hier ein Problem, wird auch nichts verschickt. Wir mussten jedoch eine spezielle Mail-Adresse verwenden, damit die Kunden mit dem Service kommunizieren können. Abhilfe brachte hier die Verwendung einer Mail-Weiterleitung. Wir verwendeten eine Mail-Adresse unseres Servers und leiteten sie direkt weiter an die Service-Mail. Keine optimale Lösung aber eine annehmbare. Das Problem wird auch mit einer anderen Lösung HIER besprochen.

Genutzt in Magento Version 1.9 Kommentare? Ergänzungen? Hinweise? Gerne!

Published by Covos

Seit 2009 arbeite ich nun intensiv mit Magento. Begonnen habe ich mit der Erstellung und dem Betrieb von B2C-Shops. Ausgeweitet wurde dies durch meine Tätigkeit im Logistik-Sektor. Hieraus entstanden erste spezialisierte B2E-Systeme. Heute arbeite ich tag-täglich mit spannenden B2C-, B2B- und B2E-Projekten und berichte in diesem Blog über Herausforderungen und gebe Insider-Tipps.

Leave a Reply

Your email address will not be published. Required fields are marked *