Keine message-ID bei Mail-Versand per SMTP

Wozu hat man eigentlich einen Support bei Shopware? Die Antworten sind nicht wirklich befriedigend:
Hallo Herr Schmidt,
treten Sie hier am besten mit Ihrem Hostingprovider in Kontakt. Dieser kann Ihnen gegebenenfalls auch die konkrete MessageID mitteilen bzw. auch die Mailserverkonfiguration anpassen.

Um MIt dem Hostingprovider in Kontakt zu treten muss ich den Support bei der Agentur bezahlen, die dann eine Anfrage beim Hoster stellen. Die Antwort kann ich mir schon denken: Fragen Sie bei Shopware nach, dort muss ein Fehler vorliegen.

Ich wollte eigentlich mit dem Shopwareshop Geld verdienen und nicht pleite gehen und Geld verbrennen!

Ich wiederhole mich ja nur ungern, aber hat nichts mit Shopware zu tun - zumindest sehe ich das so. Der Mailversand läuft über das Zend Framework. Vielleicht sollte man dort recherchieren und nachfragen. Was soll Shopware hier nun machen?

Was spricht dagegen bis zur Lösung des Problemes die normale Mail-Funktion zu benutzen? Solche Aussagen helfen keinen weiter.

Abgesehen davon, betrachte ich das noch immer als reines Server-Problem. E-Mail-Programme nutzen auch SMTP und da wird auch eine Message-ID (bei uns X-PPP-Message-ID) erzeugt und alle Mails kommen an!

Laut Hilfetext von Shopware habe heraus gelesen, dass die Einstellung „Mail“ für Linux und Unix sei. Auch hier habe ich klar die Frage formulirt, wo da der Unterschied liegt und ob ich das einfach umstellen kann. Wenn es so einfach zu lösen wäre, warum bekomme ich dann vom Support nicht diesen Hinweis?

Kann mich jemand über dieses Zend Framework aufklären? Was ist das?

Hi,

bei der Verwendung von „mail“ wird die phpMail Funktion genutzt - für diese ist z.B. keine Benutzer-Authentifizierung erforderlich.

Bei der Verwendung von „smtp“ wird der Mail-Server über das SMTP Protokoll angesprochen. In der Konfiguration kann so also auch z.B. ein externer Mail-Server verwendet werden und darüber hinaus erlaubt diese Variante Authentifizierung, Verschlüsselung usw.

Viele Grüße

Hallo,
wir hatten vor einigen Monaten auch Probleme mit abglehnten Emails von Gmail. Gesendet über smtp. Das Setzen eines SPF-Records beim Hosting Provider (ob der versendende Email Server authoisiert ist für deine Domain Emails zu verschicken), hat das Problem gelöst. Sehr wenige Kunden benutzen Email-Forwarding z.B. 123@gmx.de456@gmail.com . Das funktioniert dann nicht, weil der gmx Server nicht berechtigt ist Emails für unsere Domain zu verschicken / weiterzuleiten.
Btw.:
Wir benutzen smtp über domain factory. Hier wird die Message-ID im Header gesetzt. Viellecht wird sie vom Hoster nachgetragen.

Vielleicht hilft dir das.

engine/Library/Zend/Mail.php

public function createMessageId() {

        $time = time();
        if ($this->_from !== null) {
            $user = $this->_from;
        } elseif (isset($_SERVER['REMOTE_ADDR'])) {
            $user = $_SERVER['REMOTE_ADDR'];
        } else {
            $user = getmypid();
        }

        $rand = Shopware\Components\Random::getInteger(0, PHP_INT_MAX);

        if ($this->_recipients !== array()) {
            $recipient = array_rand($this->_recipients);
        } else {
            $recipient = 'unknown';
        }

        if (isset($_SERVER["SERVER_NAME"])) {
            $hostName = $_SERVER["SERVER_NAME"];
        } else {
            $hostName = php_uname('n');
        }
        return sha1($time . $user . $rand . $recipient) . '@' . $hostName;
       }

Diese Funktion wird beim Versenden von Mails aus dem Shop heraus nicht genutzt.
Habe das gerade getestet.
Das muss sich ein php programmierer mal anschauen.
Ich hab davon wenig Plan.

Wenn jemand eine Message-ID im Mailheader hat, dann wurde die vom Mail Hoster „nachgetragen“
So mache ich das bis zu einer Lösung mit dem Shopware/Zend auf meinem Mailserver auch.
Allerdings ist das keine Super Lösung.
Der Client sollte eigentlich eine Message-ID generieren und mit auf den Weg geben.

Hm, ich habe zum Test mal auf einer SW Testumgebung einen SMTP Versand eingerichtet. Das Formular sendet auch ein CC an den Absender. Als Absender habe ich eine Gmail-Adresse benutzt.

Nun ja, die Mail ist bei Gmail zunächst ohne Warnung im Posteingang angekommen. Der Server (also nicht Shopware) hat dabei „X-PPP-Message-ID“ erstellt und übertragen. Ein paar Minuten später kam dann aber eine Mail vom Gmail mit Fehler an die Shopware Adresse zurück:

host gmail-smtp-in.l.google.com[74.125.133.26] said:
550-5.7.1 [94.130.xxxx] Messages missing a valid messageId header are not 550 5.7.1 accepted.

Über den selben SMTP habe ich zuvor per Email-Programm eine Mail an die selbe Gmail-Adresse geschickt. Hier wurde eine „Message-ID" und „X-PPP-Message-ID“ erzeugt. Die Mail ist ganz normal angekommen.

Was könnte das nun bedeuten? Shopware selber benutzt das Zend Framework für den Mail-Versand. Nach meiner Auffassung müsste hier die Ursache liegen.

Hallo Community,
bei mit tritt das Problem ebenfalls auf. Allerdings erst seit ca. 01.07.2022.
Habe SW 5.7.13.
Sowohl bei GMAIL als auch bei Web.de wird die fehlend Header-ID bemängelt.
Mein Hoster ist profihost.de und er meint, dass Shopware keine Header-ID mitgibt.
Mein Hoster meint, man müsse „mail“ anstelle von „smtp“ einstellen.
Hat das schon jemand ausprobiert? Funjktioniert das dann wieder?

Liebe Grüße
piccolina

Ich hänge mich nochmal an…Shopeware sieht sich trotz bezahltem Support nicht für zuständig und verweist auf den Hoster, der wiederrum bei mir ist nur über die Agentur ansprechbar. Da dreht sich wunderbar alles im Kreis.

Was ich eben auch noch nicht verstanden habe: Was ändert sich durch die Auswahl von Mail anstatt SMTP? versendet werden die Mails scheinbar mit dem Klick auf „Mail“ ebenfalls. Was erkaufe ich mir durch diese Einstellung für Nachteile und löst das dass Problem wirklich?

Sind hier Fachleute, die uns Laien helfen können?

Das habe ich weiter oben schon geschrieben, aber darauf wurde ja leider nicht geantwortet :frowning:

E-Mail ist jetzt auch nicht so mein Fachgebiet, aber bei Mail wird die ganze E-Mail inkl. Header und auch Message-ID vom Zend Framework erstellt, nichts mit Server etc. Die E-Mail wird dann ganz normal über die PHP-Mail Funktion versendet.

Bei SMTP verbindet sich der Dienst mit dem SMTP-Server welcher angegeben wurde, und der versendet dann die Mail.

Der PHP-Mailer läuft ganz ohne Authentifizierung auf dem Localhost. Mag sein, dass der dafür eine Message-ID setzt. Mit dem PHP-Mailer läufst Du dann aber Gefahr, einen höheren SPAM-Score zu erhalten, weil der über den „loacalhost“ läuft, der „localhost“ aber gar nicht zu Deiner Email-Domain gehören muss! Bei SMTP lieferst Du bei dem echten zur Domain gehörenden Server ein. Genau aus diesem Grund hatte ich vor Jahren schon von mail auf SMTP umgestellt. Bin bei All-Inkl - da wird die ID vom Server ergänzt - und entgegen obiger Vermutung - habe ich bisher NULL Probleme mit der „DKIM Signatur“ - die dann auch passend von All-Inkl gesetzt wird.

Ehrlich:
Wenn ich eine Agentur habe, diese meint nicht zuständig zu sein in der „Kette“ zum Hoster, dann ist die Agentur für’n A***h.

mail.agentur dürfte ein Alias sein, der DNS-Name aus dem Bounce der echte Server. Was da richtig ist, kann nur die Agentur beantworten, und wenn die das nicht kann: Siehe vorherigen Absatz.

Theoretisch müsste Shopware die ID setzen, wenn in den Einstellungen der echte DNS-Eintrag - MX-Record ggf - gesetzt ist. Das sind Fragen, für die die „Agentur“ verantwortlich ist…

Kläre das mit Deiner Agentur :stuck_out_tongue_winking_eye:

Wir verwalten etliche SW Kunden auf Hetzner. Alle Shops laufen mit dem PHP-Mailer. Bisher liegen keine Probleme vor. Mit All-Inkl arbeiten wir gar nicht - jedenfalls nichts was mit SW zu tun hat. So hat eben jeder seine Erfahrungen gemacht :slight_smile:

Ich hätte aber dennoch bis zur Lösung des Problem erst einmal als Alternative die Mail-Methode benutzt. Das tut jetzt nicht weh :slight_smile:

Ging ja nicht darum, welcher Hoster der bessere ist, sondern was der „PHP Mailer“ anders macht. Dieser ist nunmal technisch die wesentlich schlechtere Lösung.

Schade, dass von Shopware mal wieder GAR NICHTS zum Thema kommt.
Schlecht finde ich aber auch, wenn eine Agentur durch Leistungsverweigerung auffällt.

Es ist meiner Meinung nach vollkommen egal,
wer wo hostet und welche Agentur was oder was nicht macht.
Fakt ist, dass beim smtp Versand keine Message-Id generiert wird und mit auf dem weg gegeben wird.
Und das ist nun mal absoluter Mist.

Wenn man selber den Mailserver betreibt, kann man da mit der Holzhammermethode eingreifen.
Oder wenn die Mail vorher noch durch amavis gefiltert wird, hat man Glück, da amavis ebenfalls eine fehlende Messag-Id zufügt.

mail(php) ist heutztage ein absolutes No-Go.
Wenn ich jetzt zB „Kunde1“ auf den vom R4M betreuten Server wäre,
wäre ich auch berechtigt, im Namen vom „Kunde“ 2 Mails zu versenden.
Ein Unding

Trifft so bei uns jetzt nicht zu, weshalb Mail durchaus zum Einsatz kommt. Aber Ok, wenn sich Kunden einen Server teilen müssen, dann stimmt das.

Ich schätze mal, weil es (aus meiner Sicht) nicht im Bereich von Shopware liegt. Die benutzen ja auch nur fremde Frameworks. Oder sehe ich das falsch?

@MaLan : naja, das ist nicht ein Problem von mail(php) sondern von SMTP. Du kannst ja auch von jedem x-beliebigem Mail-Server emails als „Kunde2“ (oder welche Domain auch immer) verschicken - Frage ist, was damit am Ziel passiert.

Entscheidend ist eine korrekt konfigurierte Domain - der MX (eingehende emails) ist dabei noch nicht mal so relevant - wichtig ist auch ein korrekt konfigurierter SPF Record.

Im Fall von @Matthias3 verwendet der Hoster offenbar mehrere Outbound SMTP Server im Round-Robin-Verfahren um nicht sofort auf Spam-Listen zu landen (hier: mailout03.agenturserver.de) - entsprechend sollte bei der eigenen Domain ein SPF Record mit etwa folgendem Format vorhanden sein:

v=spf1 a mx include=agenturserver.de -all

Dies beantwortet zwar nicht die Message-ID Thematik, ist jedoch ein weiterer wichtiger Faktor um nicht als Spam erkannt zu werden.

Viele Grüße