Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 26. Februar 2021 11:41

rednose
probiert CMS/ms aus
Registriert: 28. März 2011
Beiträge: 63

[GELÖST] Formbuilder Return-Path

Guten Morgen

Der Hintergrund diese Frage ist sehr technisch, aber der Lösung kann ich hoffentlich im Modul lösen.
Im Einsatz CMS 2.2.15, Formbuilder 1.1

Wegen Einsatz Exchange Server werden die Formulare Emfpang grundsätzlich blockiert, auf andere externe private Email adressen geht es.
SPF record ist alles richtig eingestellt.

Jetzt ist der Standard einstellung (sieht man im header vom formular email unter envelope-from und Return-Path) ein standard user vom Provider, welche nicht übereinstimmt mit der From welche ich im Formular angegeben habe ( welche wäre noreply@domain)
Auf Nachfrage beim Provider muss ich dass ändern können indem ich

[== php ==]
$headers = "Return-Path: ihre@mailadresse.com\r\n"; 

irgendwo mitgebe.
Jetzt habe ich überall gesucht wo headers definiert sind finde aber nur der eintrag {$fb_form_header} im vorlage aber wo diese definiert ist???
Auch habe ich versucht diese Satz einfach mal  einzubauen in der Vorlage

{$fb_form_header}
{$headers = "Return-Path: ihre@mailadresse.com\r\n";}
{if $fb_form_done == 1}

aber das hat nichts geändert im Header.

Meine Frage: weiss jemand wo ich diese Satz einbauen kann um den Hintergrundinformation vom formbuilder anzupassen? Oder eine andere Weg der Return-Path anzupassen?

Ich weiss dass es immer noch die möglichkeit hat der IT anzufragen der return-path email auf der whitelist zu nehmen, aber ich habe immer mehr Kunden mit solche Konstellationen und würde gerne wissen ob ich da selber auch etwas machen kann.

Mit freundlichen Grüssen
Rednose

Beitrag geändert von rednose (26. Februar 2021 11:42)

Offline

#2 03. April 2021 15:20

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.384

Re: [GELÖST] Formbuilder Return-Path

Sorry für die späte Antwort.

Wegen Einsatz Exchange Server werden die Formulare Emfpang grundsätzlich blockiert, auf andere externe private Email adressen geht es.

Ich verstehe hier leider nur Bahnhof.
Wer blockiert welche Formulare?
Und was hat der (blockierte) Formularempfang mit dem Senden von E-Mails zu tun?

Wenn ich "blockierte Formulare" im Zusammenhang mit FormBuilder lese, denke ich, dass die FormBuilder Formulare, die im FrontEnd ausgefüllt und abgesendet werden, nicht bei Deinem Server ankommen. D.h. die POST-Daten werden blockiert. Das wäre aber ein grundsätzliches Problem. Kann bei Dir also nicht der Fall sein, weil ja sonst alles funktioniert wie es soll (oder?).

Wenn es darum geht, dass die im FrontEnd ausgefüllten FormBuilder-Formulare nach dem erfolgreichen Absenden an Deinen Server nicht per E-Mail von Deinem Server an eine vorgegebene Adresse (z.B. aus dem Formular oder sonstwoher) versendet werden können, dann ist erstmal die Frage, welche Mail-Methode verwendet wird. Funktioniert denn die Testmail? Wenn nein, dann liegt es an Deinen Einstellungen bzw. schlichtweg am Server.

Auf Nachfrage beim Provider muss ich dass ändern können

Im Template kannst Du da garnichts machen.
Dein Provider sagt Dir damit nur pauschal, dass man dazu irgendwo etwas am PHP-Code ändern müsste. Er hat aber keine Ahnung wo, weil er nicht weiß/wissen kann, was genau da zum Einsatz kommt. Er geht einfach davon aus, weil der Header fehlt, müsstest Du ihn einfügen. Das stimmt aber nur zum Teil, denn der FormBuilder selber nutzt dazu auch nur den PHPMailer der bei CMSms mitgeliefert wird. Und im PHPMailer steht zum Thema Return-Path:

/**
     * The Return-Path of the message.
     * If empty, it will be set to either From or Sender.
     * @var string
       * @deprecated Email senders should never set a return-path header;
       * it's the receiver's job (RFC5321 section 4.4), so this no longer does anything.
       * @link https://tools.ietf.org/html/rfc5321#section-4.4 RFC5321 reference

       */

Mein laienhaftes Verständnis von dem ganzen E-Mail-Gedöns ist folgendes: Der Return-Path sollte am Ende von demjeningen gesetzt werden, der die Mail tatsächlich ausliefert. Der sogenannte MDA (Mail Delivery Agent).

CMSms liefert keine Mail aus. Auch nicht der FormBuilder. Und PHPMailer eigentlich auch nicht. Die bereiten nur alles vor und übergeben das dann an das Mailprogramm des Servers (z.B. Sendmail). Und jetzt kommt erstmal wieder die Frage nach der verwendeten Mail-Methode. Wenn es "mail" ist, solltest Du das in einer php.ini völlig unabhängig vom CMS einstellen können. Wenn es "Sendmail" ist, dann muss man, glaube ich, Änderungen am cms_mailer vornehmen. Also am Core von CMSms, weil der cms_mailer nämlich nur den Header für "From" setzt, nicht den für "Sender". Letzteres wird aber, soweit ich gelesen habe, vom MDA als "Return-Path" verwendet. Überhaupt setzt der cms_mailer die Eigenschaften von PHPMailer direkt, anstatt sich an die API zu halten. Dann würde beim Setzen von "From" auch "Sender" gesetzt werden.

Ich kann Dein Szenario leider nicht nachstellen, deshalb wirst Du da viel mit Trial and Error ausprobieren müssen.
Lass uns erstmal die Frage klären, ob denn der E-Mail Versand überhaupt funktioniert.
Dann kann man sich ja Stück für Stück an FormBuilder & Co rantasten.


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12.2 unter PHP 7:
cmsms-1.12.2-php7.2-diff.tar.gz (nur die geänderten Dateien)
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)

Offline

#3 14. April 2021 13:49

rednose
probiert CMS/ms aus
Registriert: 28. März 2011
Beiträge: 63

Re: [GELÖST] Formbuilder Return-Path

Vielen Dank für dein Antwort.

Ja Trial and Error, dass war es. Und ein riese hin-un her für eine Lösung.
Der Provider konnte nur die Lösung bieten selber im Formular eine PHP zeile mit returnpath zu verwenden. Sonst nichts. Das hat leider gar nicht geklappt, sowie du geschrieben hast, im Template konnte ich da nichts machen. Und was du schreibst wegen der MDA leuchtet dann auch schon ein.

Alle Variationen mail/sendmail usw. habe ich probiert, aber immer mit das gleiche resultat, an "externe" mails funktionierte es, einfach nicht zu emails mit den gleichen DomainName.

Für diejenige unter uns welche gerne auch der Lösung hören: Ich habe mit den Kunden und sein Techniker ein Workaround gefunden indem ich es zu ein spezielle email schicken kann, welche nicht der gleiche domainname hat, sondern auf ein onmicrosoft -Adresse von diese Domaine. Keine Ahnung, das war am schluss so technisch, dass ich nur noch gewartet habe bis die Techniker fertig diskutiert hatten und mir diese Lösung gesagt haben. Und zum Glück funktionierte.

Somit ist das Problem hier gelöst und laut Techniker ist das hier auch eine spezielle Konstellation. Meistens kann man bei eine Exchange Server einfach die gewünschte von Adresse angeben und der techniker kann es auf die whitelist stellen und es lauft. Hier waren scheinbar zuviel andere Faktoren auch noch ein Problem .

Habe schon viele Formulare eingebaut, aber auf solche Konstellationen kann ich gerne in Zukunft verzichten. tongue roll

Offline