Postfix und envelope-from Problem

vistree

Member
Hallo Forum,
vielleicht kann mir jemand bei dem folgenden Problem weiterhelfen. Ich habe hier eine recht unglückliche Konstellation und komme einfach nicht weiter ;-(
Ich habe von einem Kunden das Hosting der Webseite übernommen. Nennen wir die mal
WEB: subdomain.example.de

Das Mailing ist nicht bei mir und ich es wird hier kein SPF-record und leider auch keinen SMTP-Benutzer für subdomain.example.de geben.

Nun hat der Kunde auch die Domain subdomain.example (example ist in diesem Fall eine gültige Top-Level-Domain!) und hat mir die
E-Mail: info@subdomain.example (OHNE .de)
angelegt und es gibt hier einen gültigen SPF-record der das Senden über meinen Webserver erlaubt.
Jetzt werden Mails aus einem CMS verschickt.
Diese gehen aus dem CMS per sendmail raus.
Der Webserver versendet nicht selbst, sondern hat einen Mailserver als relayhost eingetragen. Ich vermute, dass auch die sendmail Nachrichten über diesen gehen.
Releay-Host: mail.mein-server.de

So, jetzt kommt das merkwürdigen:
Alle Mails werden als Spam eingestuft, da der envelope-from NICHT auf der Maildomain steht, sondern auf der Webdomain (die vom CMS). In den empfangenen Mailheader steht dann folgendes:

Code:
Return-Path: <SRS0=0yK4BDuf=P5=subdomain.example.de=webmaster@mein-server.de>
Received: from www.externer-mailer.de
    by www.externer-mailer.de with LMTP
    id SNFHMCOp0WY2IAEAgGCzdQ
    (envelope-from <SRS0=0yK4BDuf=P5=subdomain.example.de=webmaster@mein-server.de>); Fri, 30 Aug 2024 13:12:35 +0200
Envelope-to: ca@main-server.de
Delivery-date: Fri, 30 Aug 2024 13:12:35 +0200
Authentication-Results: www.externe-mailer.de;
    iprev=pass (mail.mein-server.de) smtp.remote-ip=XXX.XXX.XXX.XXX;
    spf=fail smtp.mailfrom=subdomain.example.de;
    dmarc=skipped
Received: from mail.mein-server.de ([XXX.XXX.XXX.XXX])
    by www.externer-mailer.de with esmtps  (TLS1.2) tls TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
    (Exim 4.94.2)
    (envelope-from <webmaster@subdomain.example.de>)
    id 1sjzYR-000JHh-Dl
    for ca@mein-server.de; Fri, 30 Aug 2024 13:12:35 +0200
Received: from localhost (localhost.localdomain [127.0.0.1])
    by mail.mein-server.de (Postfix) with ESMTP id 3FEDCA077F
    for <ca@mein-server.de>; Fri, 30 Aug 2024 13:12:27 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at mail.mein-server.de
Received: from mail.mein-server.de ([127.0.0.1])
    by localhost (mail.mein-server.de [127.0.0.1]) (amavisd-new, port 10026)
    with LMTP id 9cvey5RbOjcE for <ca@mein-server.de>;
    Fri, 30 Aug 2024 13:12:26 +0200 (CEST)

From und Reply stehen auf der korrekten Absender-E-Mail!

Code:
From: =?UTF-8?B?R2Vvd8Okcm1lIE5SVw==?= <info@subdomain.example>
Reply-to: =?UTF-8?B?R2Vvd8Okcm1lIE5SVw==?= <info@subdomain.example>

Ich verstehe gar nicht, wo die ganzen Verweise zu dem Kunden-Mailserver herkommen. Z.B.
webmaster@subdomain.example.de
subdomain.example.de

Ich habe lokal auch keinen MX für die Absender-Adresse angelegt (@subdomain.example)

Kann ich in Postfix den envelope für die Absender-Email beeinflussen oder fällt euch sonst noch etwas ein, wie ich den smtp:mailfrom und sender-envelope auf info@subdomain.example setzen kann?
 
Zuletzt bearbeitet:

Till

Administrator
Schau mal ob es für das CMS ein Plugin gibt mit dem Du per SMTP über den mailserver des Kunden senden kannst, sollte für jedes größere CMS verfügbar sein. Du sendest derzeit vermutlich per PHP mail() Funktion.
 

vistree

Member
Hallo Till,
vielen Dank für deine Rückmeldung. Ich arbeite mit Drupal und da gibt es natürlich auch Möglichkeiten per SMTP zu versenden. Wie ich aber oben geschrieben habe wird mir (aus Sicherheitsbedenken) KEIN SMTP-Zugang zur Verfügung gestellt. Und ja, ich verwende per PHP-Mailer und somit die PHP mail() Funktion.
Ich habe bereits versucht die Mail in Drupal zu debuggen - aber dort sehe ich keinen Hinweis auf den envolope bzw. die Drupal-Domain. Alles scheint korrekt auf die Absender-E-Mail eingestellt zu sein.
Ich Frage mich derzeit, wo der eingebaut wird. Auf meinem ISPconfig Applikationsserver, meinem ISPconfig Mailserver oder erst beim annehmenden Mailserver (Bei Hetzner).
 

Till

Administrator
Der envelope from wird aus Sicherheitsgründen in der server config auf webmaster@ gesetzt, wegen der gehackten CMS die man heutzutage so hat und die dann oft php mail() zum Spam versand verwenden. Wenn Du das ändern wolltest, müsstets Du global ein neues PHP.FPM pool config template anlegen.
 

Till

Administrator
Schau mal in das pool file des webs, d steht das drin mit der email Adresse für die mail Funktion.
 

vistree

Member
Ich verwende für das web fast-cgi und PHP 8.1. Gibt es da auch ein pool file? Oder gibt es das nur bei php-fpm?
 

vistree

Member
Ok, ich glaube ich habe die Stelle gefunden:
Code:
cat /var/www/php-fcgi-scripts/web460/.php-fcgi-starter
#!/bin/sh
PHPRC="/etc/php/8.1/cgi/"
export PHPRC
PHP_DOCUMENT_ROOT="/var/www/clients/client5/web460"
export PHP_DOCUMENT_ROOT
# The variable PHP_FCGI_CHILDREN is onyl useful for lighty or nginx as apache
# mod_fcgi will control the number of childs themself and never use the additional processes.
# PHP_FCGI_CHILDREN=8
# export PHP_FCGI_CHILDREN
PHP_FCGI_MAX_REQUESTS=5000
export PHP_FCGI_MAX_REQUESTS
export TMP=/var/www/clients/client5/web460/tmp
export TMPDIR=/var/www/clients/client5/web460/tmp
export TEMP=/var/www/clients/client5/web460/tmp
exec /usr/bin/php-cgi8.1 \
 -d open_basedir="/var/www/clients/client5/web460/web:/var/www/clients/client5/web460/private:/var/www/clients/client5/web460/tmp:/var/www/subdomain.example.de/web:/srv/www/subdomain.example.de/web:/usr/share/php5:/usr/share/php:/tmp:/usr/share/phpmyadmin:/etc/phpmyadmin:/var/lib/phpmyadmin" \
-d upload_tmp_dir=/var/www/clients/client5/web460/tmp \
-d session.save_path=/var/www/clients/client5/web460/tmp \
-d sendmail_path="/usr/sbin/sendmail -t -i -f webmaster@subdomain.example.de" \

Vermutlich ist das -f webmaster@subdomain.example.de in der letzten Zeile verantwortlich für den envelope?
Kann ich das starter-script jetzt nur für das eine Web überschreiben? Oder z.B. in den php.ini Anweisung in der web-config den webmaster ändern?
 

Till

Administrator
Vermutlich ist das -f webmaster@subdomain.example.de in der letzten Zeile verantwortlich für den envelope?
Kann ich das starter-script jetzt nur für das eine Web überschreiben?
Könntest Du machen, müsstest es dann aber mit chattr +i /var/www/php-fcgi-scripts/web460/.php-fcgi-starter immutable und könntest dann PHP für das web nicht mehr in ISPConfig konfugurieren.

Oder z.B. in den php.ini Anweisung in der web-config den webmaster ändern?
Nein, das geht nicht.
 

vistree

Member
Hallo Till,
vielen Dank für den Support und das Aufzeigen des Lösungswegs. Nachdem ich die webmaster-E-Mail in der Datei /var/www/php-fcgi-scripts/web460/.php-fcgi-starter angepasst habe, gehen die Mails aus dem CMS ohne SPF-Fehler raus ;-)
 

Werbung

Top