WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

Du bist nicht angemeldet.

#1 26.06.2020 14:17:24

digitalbricks
Mitglied

GMX und WEB.de weisen WBCE-E-Mails zurück

Hallo Community,

in einem kürzlich auf WBCE 1.4.3 aktualisierten Projekt treten Probleme mit dem Mailversand an GMX- und WEB.de-Adressen (beides derselber Konzern) auf, welche ich mir nicht so recht erklären kann. Auch kann ich nicht 100%ig sicher sagen, ob das Problem erst mit WBCE 1.4.3 Einzug gehalten hat oder bereits vorher da war – uns ist es jetzt erst aufgefallen.

Auf der betroffenen Website ist das Bakery-Shop-Modul im Einsatz und ich wurde auf das Problem aufmerksam, als Shop-Kunden – die Mailadressen bei GMX oder WEB.de angegeben hatten – sich über ausbleibende Zahlungsinformationen beschwerten. Das Problem tritt aber, das habe ich ausprobiert, auch z.B. mit MPForm auf – ist also mutmaßlich kein Problem von Bakery. Auch macht es keinen Unterschied, ob sendmail oder SMTP als Versandmethode genutzt wird. Die E-Mails verschwanden (gleich dazu mehr) im Nichts und es kam keine Unzustellbarkeitsmeldung an. Der Mailversand an andere Adressen außerhalb des GMX/WEB-Kosmos ist aber unproblematisch – da kamen die Mails zuverlässig an.

Was ich bislang herausgefunden habe:
Nachdem ich mir die Mail-Header einer solchen von WBCE versandten E-Mail (die auf einem anderen Postfach wie gesagt ohne Probleme ankam) angeschaut habe, stellte ich fest dass dort im Return-Path ein nicht exisitierendes Postfach angegeben war – nämlich etwas in der Form mustermann-online@mustermann-online-shop.de. Somit konnte eine Unzustellbarkeitsmeldung garnicht ankommen. Also habe ich das im Return-Path benannte Postfach angelegt, um zu schauen was GMX zu meckern hat, und habe dann noch mal über WBCE eine E-Mail an eine GMX-Adresse gesandt (Empfängeradresse in MPForm entsprechend geändert) –– dann kam auch im neu angelegten Postfach eine Unzustellbarkeitsmeldung an (die E-Mail selber wurde freilich nicht an die GMX-Adresse zugestellt).

In der Unzustellbarkeitsmeldung wird auf https://www.gmx.net/mail/senderguidelines/ verweißen, wo mögliche Ursachen aufgelistet sind – die meisten haben Bezug auf die E-Mail-Header.

Fragen an die Community
Hat jemand von euch Ähnliches beobachtet oder gibt es hier jemanden, der eine GMX-Adresse hat und versuchen kann das zu reproduzieren (Empfängeradresse im Formularmodul auf eine GMX-Adresse einstellen und Formular einmal abschicken)?

Fragen an die Entwickler
Woher kommt der falsche Return-Path? Erzeugt den PHPMailer wenn man ihm keinen explizit vorgibt? Wenn dem so ist, wäre es dann nicht besser den Return-Path-Header seitens WBCE immer explizit an PHPMailer zu übergeben?
Weiß jemand, ob die anderen unter https://www.gmx.net/mail/senderguidelines/  gelisteten Kriterien für die Zustellung von E-Mails an GMX (und mutmaßlich ebenso an WEB.de) erfüllt sind?

Ich bin dankbar für jeden Hinweis!

Fun-Fact am Rande: Mein olles GMX-Postfach ist mit Aaaaabstand das, in welchem die meisten Spam-Mails ankommen – mitunter mehr als 20 pro Tag. Das ausgerechnet DIE solche scharfen "Qualitätsrichtlinien" fahren und E-Mails schon aufgrund eines falschen oder fehlenden Header-Eintrages zurückweisen ist ... ähem ... sehr merkwürdig ;-)

Besten Dank vorab und viele Grüße
André

Offline

#2 26.06.2020 14:24:53

webbird
Administrator

Re: GMX und WEB.de weisen WBCE-E-Mails zurück

Hab auf die Schnelle das gefunden:

https://stackoverflow.com/questions/346 … -phpmailer
https://github.com/PHPMailer/PHPMailer/issues/963

Return-Path ist im PHPMailer also standardmäßig der Sender. Hast Du mal einen vollständigen Header?


Ich habe eine Amazon-Wishlist. wink Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal

Offline

#3 26.06.2020 14:27:16

webbird
Administrator

Re: GMX und WEB.de weisen WBCE-E-Mails zurück

Also in der Mailer.php wird nirgends der Sender gesetzt. Versuch doch mal folgendes:

Mailer.php Zeile 83ff:

        // set default sender 'From'
        $oMailer->From = $aCfg['server_email'];

DAHINTER

        $oMailer->Sender = $aCfg['server_email'];


Ich habe eine Amazon-Wishlist. wink Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal

Offline

#4 26.06.2020 14:36:04

webbird
Administrator

Re: GMX und WEB.de weisen WBCE-E-Mails zurück

Ich glaube Bakery ist Schuld. Datei send_invoice.php

        $headers .= "Return-Path: $shop_email"."\n";


Ich habe eine Amazon-Wishlist. wink Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal

Offline

#5 26.06.2020 14:48:33

florian
Administrator

Re: GMX und WEB.de weisen WBCE-E-Mails zurück

Ich habe das Thema mal in den Modulbereich verschoben.
Wie webbird schon richtig geschrieben hat: Bei Bakery kann bei den Einstellungen die Shop-E-Mail-Adresse angegeben werden.
Bei MPForm kann wahlweise [SERVER_EMAIL] verwendet werden, das ist dann die Mailadresse, die bei den Grundeinstellungen hinterlegt ist, oder eine beliebige andere Adresse oder gar der Wert eines vom Besucher ausgefüllten Formularfelds.

Traten die Probleme nur zeitweise auf und liegt die Website zufällig bei Dogado/Alfahosting?
Es kann auch daran liegen, dass der versendende SMTP-Server auf Spam-Blacklisten erscheint. Es ist von Anbieter zu Anbieter unterschiedlich, welche Listen berücksichtigt werden. Jedenfalls wäre auch zu prüfen, ob für den ausgehende Server (Name / IP) z.B. bei https://mxtoolbox.com/blacklists.aspx ein Eintrag gefunden wird.
Ich hatte letzte Woche das Problem, dass (richtige, echte, aber über den Webmailclient verfasste) Mails von einem Kunden von mir manche (aber nicht alle) Empfänger nicht erreicht haben, und das lag (vermutlich) genau daran, dass ein Server kurzzeitig auf der Blacklist von Spamhaus gelandet war.

Beitrag geändert von florian (26.06.2020 14:49:25)


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#6 26.06.2020 15:26:57

digitalbricks
Mitglied

Re: GMX und WEB.de weisen WBCE-E-Mails zurück

Hallo webbird, hallo florian,

@webbird
Bei Nachrichten von MPForm wird der gleiche (falsche) Return-Path-Header gesetzt wie beim Versand via Bakery. Von daher glaube ich (mag damit aber falsch liegen), dass es nicht an Bakery (allein) liegt.
Den Tip mit der Mailer.php (Setzen von From und Sender) probiere ich aus und melde mich wieder hier.

@florian
In MPForm ist als Absender-Adresse eine E-Mail-Feld eingestellt – dennoch steht im Return-Path nicht der Feldinhalt sondern die besagte, falsche und vormals nicht-exisitente E-Mail-Adresse.
Blacklists habe ich gecheckt – mit dem von Dir genannten Link und auf spamhaus.org – alles ok.

Offline

#7 26.06.2020 15:56:04

digitalbricks
Mitglied

Re: GMX und WEB.de weisen WBCE-E-Mails zurück

Die Änderung in der /framework/Mailer.php brachte leider keine Änderung bei Bakery.

ABER: Ich habe gesehen, dass E-Mails aus MPForm durchkommen (auch ohne die Änderung). Die haben zwar – wie die Bakery-E-Mails – den falschen Wert in Return-Path, scheinen aber ansonsten den Richtlinien von GMX zu entsprechen. Kommt zwar im Spamverdacht-Ordner an aber immerhin kommt sie an. Scheint also doch an Bakery zu liegen ...

Beim Vergleich der beiden Header (aus MPForm und aus Bakery) sehe ich keine Unterschiede. Hmmm...

Beitrag geändert von digitalbricks (26.06.2020 15:56:15)

Offline

#8 26.06.2020 17:23:16

florian
Administrator

Re: GMX und WEB.de weisen WBCE-E-Mails zurück

Ich kann den sonderbaren Return-Path bestätigen. Wobei weder Bakery, noch mpform, noch PHPMailer die Schuldigen sind. Der Return-Path wird, so weit ich sehe, bei Verwendung von PHPMail von den Webhostern selbst festgelegt und kann nicht geändert werden. Je nach Anbieter sind das entweder die erste im Webhostingpaket angelegte Mailadresse, eine-interne-User-ID@registrierte-domain-im-paket, useraccount@mailserver oder ähnliches.

Beitrag geändert von florian (27.06.2020 05:44:34)


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#9 27.06.2020 08:51:43

berny
Mitglied

Re: GMX und WEB.de weisen WBCE-E-Mails zurück

diverse Provider haben die Spamregeln verschärft und weisen mails mit unterschiedlichen Absender-Return path ab.

ist nicht nur ein Problem bei wbce, auch andere systeme sind betroffen.

Offline

#10 27.06.2020 12:45:03

digitalbricks
Mitglied

Re: GMX und WEB.de weisen WBCE-E-Mails zurück

Hallo florian & berry,

vielen Dank für euer Feedback!

Das Abweisen der E-Mails scheint nicht nur am falsche Return-Path zu liegen. Beim via MPForm getriggertem Versand ist der Return-Path auch falsch aber die E-Mail kommt dennoch an. Zwar im Spamverdacht-Ordner aber sie wird immerhin nicht abgewiesen.

Vemutlich ist es eine Kombination aus mehreren "suspekten" E-Mail-Headern, die zum Abweisen führen. Ich werde das die Tage mal direkt mit PHPMailer unter Verwendung unterschiedlicher Header testen – vielleicht bekomme ich dann heraus, welche Kombination bzw. welche Header-Werte das Problem sind. Ich gebe euch Bescheid, wenn ich neue Erkenntnisse habe.

Beitrag geändert von digitalbricks (27.06.2020 12:45:33)

Offline

#11 27.06.2020 13:14:24

digitalbricks
Mitglied

Re: GMX und WEB.de weisen WBCE-E-Mails zurück

... hat mir doch keine Ruhe gelassen und daher habe ich gleich mal ausprobiert – mit merkwürdigem Ergebnis:

Da der Umgang mit sendmail augenscheinlich von Server zu Server variiert – insbesondere aber nicht ausschließlich was das automatische Setzen des Return-Paths angeht – habe ich mein Test-Skript auf dem Server "installiert" auf dem das beschriebene Problem auftritt. Mein Test-Code sieht so aus:

[== PHP ==]
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require 'vendor/phpmailer/phpmailer/src/Exception.php';
require 'vendor/phpmailer/phpmailer/src/PHPMailer.php';
require 'vendor/phpmailer/phpmailer/src/SMTP.php';

// Load Composer's autoloader
require 'vendor/autoload.php';

// Instantiation and passing `true` enables exceptions
$mail = new PHPMailer(true);
try {
    $mail->setFrom('sender@example.com', 'Tester'); 
    $mail->addAddress('receiver@gmx.de');
    $mail->Subject = 'TESTMAIL';
    $mail->Body    = 'This is just a test'; 

    $mail->send();
    echo 'Message has been sent';
} catch (Exception $e) {
    echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
}

(Natürlich habe ich echte, exisitierende Adressen für den Test genutzt – hier nur aus Privacy-Gründen ausgetauscht)

Ergebnis:
Die E-Mail kommt an, selbst mit dieser minimalistischen Konfiguration an Headern.
Und besser noch: Der Return-Path ist korrekt auf "sender@example.com" gesetzt

Für den Test habe ich PHPMailer 6.1.6 via Composer installiert.
Kann es sein, dass sich diese Version anders verhält als die mit WBCE "gebundelte"?

Offline

#12 27.06.2020 13:38:21

colinax
Developer

Re: GMX und WEB.de weisen WBCE-E-Mails zurück

@digitalbricks könntest du die WBCE Version mal auf die 1.4.4 aktualisieren und schauen ob es dann besser wird?

In WBCE 1.4.3 wird PHPMailer 6.1.4 verwendet, die 1.4.4 verwendet PHPMailer 6.1.6

Beitrag geändert von colinax (27.06.2020 13:48:17)

Offline

#13 27.06.2020 13:40:28

florian
Administrator

Re: GMX und WEB.de weisen WBCE-E-Mails zurück

Kannst *jetzt* auch die 1.4.4 nehmen
https://github.com/WBCE/WBCE_CMS/releases/tag/1.4.4


Code allein macht nicht glücklich. Jetzt spenden!

Offline

Liked by:

colinax

#14 27.06.2020 14:58:35

digitalbricks
Mitglied

Re: GMX und WEB.de weisen WBCE-E-Mails zurück

@florain & @colinax

Kann ich auch (erstmal) nur /includes/PHPMailer mit der neuen Version auf WBCE 1.4.4 ersetzen oder muss ich komplett auf 1.4.4 upgraden?

Offline

#15 27.06.2020 15:24:42

colinax
Developer

Re: GMX und WEB.de weisen WBCE-E-Mails zurück

Es sollte reichen nur den Ordner zu ersetzen.

Offline

#16 27.06.2020 16:40:05

digitalbricks
Mitglied

Re: GMX und WEB.de weisen WBCE-E-Mails zurück

Ich habe jetzt auf der betroffenen Site /include/PHPMailer durch den gleichnamigen Ordnern aus dem WBCE 1.4.4-Download ersetzt und erneut getestet – leider ohne erkennbaren Unterschied:
– der Return-Path ist (entgegen Versuchen mit meinem Testscript auf dem gleichen Server) falsch
– E-Mails aus Bakery werden von GMX abgewiesen.
– E-Mails aus MPForm kommen im Spamverdacht an

Wenn ich mein o.g. Testskript dahingehend anpasse, dass es die mit WBCE ausgelieferte PHPMailer-Bibliothek verwendet, kommt die Mail jedoch korrekt an und der Return Path stimmt ebenfalls. Auch mit der PHPMailer-Version 6.1.4 von WBCE 1.4.3.

Zumindest was den Return-Path angeht, so scheint dieser irgendwie beim Durchreichen von WBCE an PHPMailer verloren zu gehen. Das klärt freilich noch nicht, warum Mails aus Bakery garnicht ankommen aber ist vielleicht dennoch ein Punkt den man fixen könnte um die Einordnung als Spam möglicherweise zu verhindern. Die E-Mails aus meinem Testskript – mit korrektem Return-Path – landen nämlich nicht im Spamverdacht.

Beitrag geändert von digitalbricks (27.06.2020 16:41:04)

Offline

#17 27.06.2020 16:59:14

florian
Administrator

Re: GMX und WEB.de weisen WBCE-E-Mails zurück

Entschuldige die blöde Frage, ich kenne mich nicht wirklich mit diesen Dingen aus - aber hat Dein Testscript möglicherweise via SMTP versendet?

Bei welchem Abieter (Webhoster) läuft die Website bzw. Dein Testscript?


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#18 27.06.2020 17:25:37

florian
Administrator

Re: GMX und WEB.de weisen WBCE-E-Mails zurück

Hm, ich habe mir jetzt schnell mal ein GMX-Postfach geklickt und bei einer Testbestellung auf einem Testsystem das Testpostfach angegeben - die Bestellbestätigung ist sofort da gewesen (siehe Screenshot im Anhang). o_O
Wie sieht denn die Bakery-Mail aus, also inwiefern wurden Betreff und Text der Mail angepasst? Könnten da irgendwelche Buzzwords drin sein, auf die der GMX-Spamfilter anspringt?


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#19 27.06.2020 17:43:21

digitalbricks
Mitglied

Re: GMX und WEB.de weisen WBCE-E-Mails zurück

Hallo Florian,

vielen Dank für Deinen Test und die Schmerzresistenz beim Klicken eines GMX-Postfachs ;-)

Das Testscript sendet nicht per SMTP - dafür hätte ich da explizit Zugangsdaten angeben müssen.

Bei welchem Anbieter der Server liegt, kann ich Dir leider nicht beantworten - das läuft über einen Reseller. Vom Hostnamen her (cyberwebserver-20.de) nichts was mir bekannt vorkommt.

Wenn es allerdings allein an einer falschen Serverkonfiguration liegen würde, dürfte mein Testscript ja ebenfalls keine Mails senden können bzw. hätten die Mails dann vermutlich auch einen falschen Return-Path.

Alles sehr merkwürdig ...

War bei Deinem Test der Return-Path korrekt?

Betreffzeilen und Text der Bestellbestätigung sind nicht signifikant angepasst und inhaltlich geht es um Möbel und Küchenzubehör - also nix was einen Wort-Filter triggern sollte.

Offline

#20 27.06.2020 18:01:02

florian
Administrator

Re: GMX und WEB.de weisen WBCE-E-Mails zurück

War bei Deinem Test der Return-Path korrekt?

Nein. Bei dem einen Testsystem steht dort erstemailadresse@erstedomainimpaket.tld, beim anderen benutzerkennung@mailserver.internedomain.tld. Als Shopadresse hatte ich bakery@testdomain.tld, die als Absender/Reply-To fungiert, angegeben - der Unterschied dazwischen und der Return-Path-Adresse scheint also zumindest nicht das einzige Kriterium fürs Aussortieren zu sein.


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#21 28.06.2020 11:45:00

digitalbricks
Mitglied

Re: GMX und WEB.de weisen WBCE-E-Mails zurück

Hallo florian,

was den falschen Return-Path angeht, so könnte die Ursache in der /framework/Mailer.php liegen. Dort werden nämlich – soweit ich das sehe – die PHPMailer-Properties From und FromName direkt gesetzt, während die Property Sender garnicht behandelt wird. Ich denke der korrekte Weg wäre die Verwendung der Methode setFrom von PHPMailer (vgl. https://github.com/PHPMailer/PHPMailer) – der kann man nämlich Sender-Adresse und Sender-Name übergeben und dann kümmert sicht die Methode um das Setzen von From , FromName  und Sender .
(Siehe /include/PHPMailer/src/PHPMailer.php, Zeile 1235–1265 und /framework/Mailer.php, Zeile 84–95)

In der framework/Mailer.php, sollten die folgenden bisherigen Zeilen ...

[== PHP ==]
// set default sender 'From'
$oMailer->From = $aCfg['server_email'];

// set default sender 'FromName'
if ($oMailer->FromName == 'Root User') {
    if (isset($_SESSION['DISPLAY_NAME'])) {
        // FROM NAME: display name of user logged in
        $oMailer->set('FromName', $_SESSION['DISPLAY_NAME']);
    } else {
        // FROM NAME: set default name
        $oMailer->set('FromName', $aCfg['default_sendername']); 
    }
}

... durch Folgende ersetzt werden:

[== PHP ==]
// set default sender 'FromName'
if ($oMailer->FromName == 'Root User') {
    if (isset($_SESSION['DISPLAY_NAME'])) {
        // FROM NAME: display name of user logged in
        $from_name = $_SESSION['DISPLAY_NAME'];
    } else {
        // FROM NAME: set default name
        $from_name = $aCfg['default_sendername']; 
    }
}

$oMailer->setFrom($aCfg['server_email'],$from_name );

DAS löst zwar mein eigentliches Problem nicht aber dann stimmt zumindest der Return-Path und man erhält somit zumindest die Unzustellbarkeitsmeldung an die absenden Adresse – erfährt also zumindest, dass die Mail nicht zugestellt wurde und kann entsprechend reagieren. Von daher ist die Nutzung von setFrom augenscheinlich der sauberere Weg und auch der, in der Doku von PHPMailer genutzt wird.

Beitrag geändert von florian (29.06.2020 20:48:26)

Offline

Liked by:

florian

#22 28.06.2020 19:09:06

florian
Administrator

Re: GMX und WEB.de weisen WBCE-E-Mails zurück

Danke für Deine Tests. Leider kann das dann erst in WBCE 1.4.5 einfließen.

Die Zeile

$oMailer->setFrom($aCfg['server_email'],from_name );

muss

$oMailer->setFrom($aCfg['server_email'],$from_name );

lauten. Aber das nur nebenbei.
Dann bekommen zumindest die Mails, die über mpform oder im Falle von "Passwort vergessen" vom Core verschickt werden, als Return-Path die bei den Grundeinstellungen hinterlegte Mailadresse.

Bei Bakery wirkt sich das hingegen nicht aus, weil Bakery gar nicht den PHPMailer verwendet.

Vermutlich deshalb, und wegen der webhosterseitigen Restriktionen, werden die Zeilen 168/172 in der view_confirmation.php,

$cust_email_headers  = $headers."Return-Path: $setting_shop_email"."\n";
$shop_email_headers  = $headers."Return-Path: $setting_shop_email"."\n";

schlichtweg ignoriert und es steht weiterhin der willkürlich vergebene Return-Path in den Mailkopfzeilen.

D.h. der Mailversand von Bakery müsste analog mpform auf die PHPMailer umgestellt werden.


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#23 29.06.2020 09:28:09

digitalbricks
Mitglied

Re: GMX und WEB.de weisen WBCE-E-Mails zurück

Hallo Florian,

vielen Dank für die Korrektur des Syntax-Fehlers und Deinen Hinweis zum Mail-Versand in Bakery durch view_confirmation.php.
DAS ist ja tatsächlich erstaunlich – dort wird garnicht die Mailer-Klasse von WBCE genutzt (die auf PHPMailer aufsetzt) sondern schlicht mail(). Unabhängig davon, ob man in den Grundeinstellungen ggf. SMTP-Versand konfiguriert hat.

Ich werde mal versuchen, dass auf die Mailer-Klasse von WBCE umzustellen – ich mutmaße mal, dass das zur Behebung des Unzsutellbarkeits-Fehler maßgeblich beiträgt. Wenn das klappt, gebe ich dem Entwickler von Bakery Bescheid.
Verrückt, dass das vorher noch nie zu Problemen geführt hat bzw. noch niemand aufgefallen ist. Bakery ist ja (mangels Alternativen) doch ein recht weit verbreiteter "alter Hase" in der Modul-Landschaft.

Offline

Liked by:

florian

#24 29.06.2020 09:35:29

florian
Administrator

Re: GMX und WEB.de weisen WBCE-E-Mails zurück

Der "Entwickler von Bakery" bin inzwischen mehr oder weniger ich (mit Unterstützung), der ursprüngliche Entwickler hat das Projekt an die Community übergeben.
Es wäre super, wenn Du das auf die Mailer-Klasse umbauen könntest. Würde es Dir etwas ausmachen, dies auf der Basis der aktuellen Bakery-Version 1.8.8 zu machen?


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#25 29.06.2020 10:38:40

digitalbricks
Mitglied

Re: GMX und WEB.de weisen WBCE-E-Mails zurück

Alles klar – umso besser.
Ich werde die 1.8.8. als Basis verwenden und melde mich, wenn ich soweit bin.

Offline

Liked by:

florian, berny

Fußzeile des Forums

up