Kontaktformular Fehlermeldung

Hi, wenn man das Kontaktformular abschicken will, kommt folgende Fehlermeldung: (Bestellungen gehen durch, nur nicht das Formular…) You are not allowed to use the domain gmail.com as a sender domain. in Zend/Mail/Protocol/Abstract.php on line 431 Stack trace: #0 Zend/Mail/Protocol/Smtp.php(261): Zend\_Mail\_Protocol\_Abstract-\>\_expect(250, 300) #1 Zend/Mail/Transport/Smtp.php(207): Zend\_Mail\_Protocol\_Smtp-\>mail('meineemail@gmail.co...') #2 Zend/Mail/Transport/Abstract.php(348): Zend\_Mail\_Transport\_Smtp-\>\_sendMail() #3 Zend/Mail.php(1194): Zend\_Mail\_Transport\_Abstract-\>send(Object(Enlight\_Components\_Mail)) #4 Shopware/Controllers/Frontend/Forms.php(282): Zend\_Mail-\>send() #5 Shopware/Controllers/Frontend/Forms.php(164): Shopware\_Controllers\_Frontend\_Forms-\>commitForm() #6 Enlight/Controller/Action.php(135): Shopware\_Controllers\_Frontend\_Forms-\>indexAction() #7 Enlight/Controller/Dispatcher/Default.php(521): Enlight\_Controller\_Action-\>dispatch('indexAction') #8 Enlight/Controller/Front.php(214): Enlight\_Controller\_Dispatcher\_Default-\>dispatch(Object(Enlight\_Controller\_Request\_RequestHttp), Object(Enlight\_Controller\_Response\_ResponseHttp)) #9 Shopware/Bootstrap.php(79): Enlight\_Controller\_Front-\>dispatch() #10 Enlight/Application.php(192): Shopware\_Bootstrap-\>run() #11 shopware.php(74): Enlight\_Application-\>run() #12 {main}

Hallo Zusammen, lange ist es her, eine Lösung gibt es hier, habe genau das gleiche Problem. Das Kontaktformular crasht, sagen meine Kunden. Ursache ist ganz einfach: Das Formular ist so aufgebaut, dass der Absender des Kontaktformulars die Kunden-Emailadresse ist. Das geht eben nicht, nicht weil nicht können oder zu doof, sondern weil Google und Microsoft und andere eben sagen, dass wenn ich mit Smtp an meinem eigenen Server im Hintergund anmelde der mit zum Beispiel wie bei mir: Shopping@Zwilla.de, der Absender nicht Kunde123@Shopware.de sein kann. Das ist eigentlich ganz logisch, klar zu verstehen und für jeden einleuchtend, nur eben nicht den Machern des Kontaktformulars. Alle anderen Formulare gehen, WEIL dort der Absender die Shopbetreiber E-Mail ist, oder in den Email-Vorlagen eben die dort hinterlegte (eventuell). Ursache des Problems liegt im Zend-Mail Modul: (eigentlich ja auch nicht, mann muss dem Formular nur erklären wer hier der Absender ist. Fertig. Wie geht das? Wo liegt das Formular? Letzter Übergabe Punkt an den Transport: /engine/Library/Zend/Mail/Transport/Smtp.php Zeile: (215): Zend\_Mail\_Protocol\_Smtp-\>data('From:Kunde123@Shopware.de Zend/Mail/Protocol/Smtp.php Quelle des Übels ist jedoch: engine/Shopware/Controllers/Frontend/Forms.php [color=red]if (!empty($postEmail)) { $mail-\>From = $postEmail; } else { $mail-\>From = Shopware()-\>Config()-\>Mail; }[/color] Lösung: [color=green]if (!empty($postEmail)) { /\*\* $mail-\>From = $postEmail; untere Zeile ersetzt weil der Absender falsch ist für das SMPT System\*/ $mail-\>From = Shopware()-\>Config()-\>Mail; } else { $mail-\>From = Shopware()-\>Config()-\>Mail; }[/color] Super und Danke Gruß Zwilla [size=50]p.s. Ich will auch nicht einen auf Linux aufgesetzten SMPT benutzen oder eine andere Notlösung, sonder meinen eigenen Server und keine Bastelarbeiten, daher bitte keine Vorschläge wie man es sonst noch machen könnte.[/size]

1 „Gefällt mir“

Super, danke Dir! Genau das Problem habe ich gerade - verstehe nicht das Shopware das nicht bereits gefixt hat. Wieder ein Core-Hack!

Hallo, dafür brauch man eigentlich keinen Core-Hack. Sobald im Formular ein Typ “email” ist, dann wird dieser als Absender genutzt, wenn ihr dort “Text” als Feldtyp einstellt, dann wird die im Formular hinterlegte Adresse genutzt. Also könnt ihr einfach den Feldtyp über das Backend auf “text” setzen und dann im Backend für das Formular eine gültige Adresse einsetzen. Dann funktioniert das auch im Standard ohne Core-Anpassung. Viele Grüße Moritz

Hallo Moritz, das hab ich hier auch schon gelesen, allerdings prüft er dann nicht mehr auf korrekte eMail. Da ich bereits 2 weitere Core-Anpassungen habe tut der eine mehr oder weniger nicht weh - habe ja Hoffnung dass das eine oder andere in den Core übernommen oder angepasst wird.