Postfix SMTP Konfiguration

Kato

Registered User
Ich will mit Postfix eine bestimmte Konfiguration erreichen, aber trotz intensiver Suche klappt es noch nicht so wie ich mir das vorstelle.

Postfix soll den Versand für mehrere Domains/Ip-Adressen übernehmen und dabei aber auch den Hostnamen entsprechend der IP verwenden.

Folgendes Ausgangsszenario:
Server Hostname: DOMAIN0
IP: 0.0.0.0
Domain: DOMAIN0

IP: 1.1.1.1
Domain: DOMAIN1

In der master.cf ist entsprechend eingestellt:

1.1.1.1:smtp inet n - n - - smtpd -o myhostname=smtp.DOMAIN1

Schicke ich nun eine e-mail von DOMAIN1 z.B. nach hotmail erhalte ich folgende e-mail header:

Received: from DOMAIN0 ([0.0.0.0]) by blahblahblah.hotmail.com with Microsoft SMTPSVC(6.0.3790.2668);

Received: from www.DOMAIN1 (DOMAIN1 [1.1.1.1])
by smtp.DOMAIN1 (Postfix) with ESMTP

D.h. zunächst scheint alles zu klappen und die unteren received-from Zeilen zeigen nur die DOMAIN1, doch immer steht (aus welchem Grund auch immer) noch ein received from DOMAIN0 im Header. Ein paar Versuche haben ergeben, dass sich der Server das entweder aus der /etc/hostnames zieht oder aus $myhostname aus der main.cf, wenn vorhanden. Das ist auch völlig normales Postfix-Verhalten.

Aber es muss doch eine Möglichkeit geben, Postfix mitzuteilen, dass es beim Versand über DOMAIN1 als hostname auch DOMAIN1 nehmen soll und DOMAIN0 aus den headern zu verbannen.

Ich habe versucht es über einen Zusatzeintrag in /etc/hostname zu regeln, aber die wird bei jedem Reboot neu erstellt und alle manuellen Änderungen fliegen raus. Nächster Versuch war über smtp_bind_address aber das funktioniert auch nicht.
Wie lässt sich das wie gewünscht umsetzen?
 
Ich bin mir nicht sicher,aber könnte nicht der Fehler vielleicht daher auftreten dass sagen wir mal, das Script auf IP 0.0.0.0 zugreift als SMTP Host.

Sprich, wenn du alles von 1.1.1.1 verschickst müsste dies auch als SMTP Host genutzt werden?

Ist nur so eine Vermutung, ich mag Mailserver nicht und steh ständig mit ihnen auf Kriegsfuss ;)
 
So langsam hasse ich die Dinger auch... :D trotzdem muss das irgendwie funktionieren.
In dem Thread hatte jemand das gleiche Problem: eMails werden als Spam behandelt - WHL Community Foren
Leider schreibt er nicht wirklich, wie er das Problem gelöst hat. Was ich nicht verstehe, ist dass vom e-mail Header der untere Header völlig korrekt DOMAIN1 als received-from angibt, aber im oberen Header DOMAIN0 als Auslieferungsserver angegeben wird. So langsam frage ich mich, ob das was Hotmail-Spezifisches ist. Was passiert da zwischen den beiden Einträgen, dass da der falsche Servername drin steht?
 
Ist es Dir wirklich so wichtig, eine bestimmte Domain im Received-Header zu haben? Wenn Du Deine Mails über einen Provider verschickst, taucht schließlich auch deren Servername in den Headerzeilen auf.
Bei meinen Servern habe ich einen generische Domain-Namen für die Server (à la mein-server.de) und dann einen entsprechenden Hostnamen (also mx1.mein-server.de).
Das wichtige bei der Sache ist lediglich, dass die PTR-Records für Deine IP-Adressen richtig gesetzt ist (also z.B. mx1-en0.mein-server.de und mx1-en1.mein-server.de) und dazu jeweils A-Records existieren, die auf die entsprechende IP-Adresse zeigen.

PS: Wenn Du einen dicken Hals bekommen willst, gib mal "Hotmail again" in die Forensuche ein, dann erfährst Du, was Du sonst noch alles beachten musst.
 
Ist es Dir wirklich so wichtig, eine bestimmte Domain im Received-Header zu haben?

Ja, leider. Ich will den realen Hostnamen des Servers nicht in jeder versendeten e-mail stehen haben, sondern den virtuellen Hostnamen der Domain. Klar ist das was du beschreibst eine Möglichkeit, wenn es gar nicht funktionieren will.

Ich werde jetzt noch mal die A- und PTR-Records checken. Das war auf jeden Fall noch ein wichtiger Hinweis.
 
So jetzt bin ich gleichzeitig einen Schritt weiter und doch wieder nicht.....:eek:

Der Versand an eine Yahoo-Adresse ergab folgenden Mailheader:

Received: from 1.1.1.1 (EHLO DOMAIN0) (1.1.1.1)
by blablablabl.mail.re3.yahoo.com with SMTP; DATE TIME
Received: from www.DOMAIN1 (DOMAIN1 [1.1.1.1])
by smtp.DOMAIN1 (Postfix) with ESMTP id XXXXXXXXXX

Das EHLO DOMAIN0 konnte ich eliminieren indem ich in der master.cf folgenden smtp client erstellt habe:

smtp unix - - - - - smtp -o smtp_bind_address=1.1.1.1 -o smtp_helo_name=DOMAIN1

Seitdem sieht der Mailheader der Yahoo-Mail wie gewünscht aus:
Received: from 1.1.1.1 (EHLO DOMAIN1) (1.1.1.1)
by blablablabl.mail.re3.yahoo.com with SMTP; DATE TIME
Received: from www.DOMAIN1 (DOMAIN1 [1.1.1.1])
by smtp.DOMAIN1 (Postfix) with ESMTP id XXXXXXXXXX

So soll es sein. AAAAAAABER:

NUN KOMMEN DIE MAILS BEI HOTMAIL ÜBERHAUPT NICHT MEHR AN!!!!!!! :o:(:mad:

Keine Fehlmeldung im mail log. Die mails gehen mit Status Code 250 raus. Und es steht drin, dass die mail für delivery geqeued wird. Das wars dann aber auch. Die mail erscheint nicht im Hotmail Posteingang und es kommt keine Fehlermeldung zurück. Es ist sooooo öde.
 
So es gab da immer noch ein paar Probleme und am sinnvollsten scheint es zu sein das mit Instanzen zu regeln.
So stand es jedenfalls irgendwo. Ich habe ein schönes Tut gefunden: Complete Dose of Linux Poison: HowTo make two instance of postfix running on same machine

Und das funktioniert auch wunderbar. Allerdings ist auch mit Instanzen das Ergebnis das gleiche: Yahoo empfängt die e-mails. Hotmail nicht. Keinerlei Fehlermeldung usw. usw. Ich krieg echt noch die Krise.
 
Lies den Thread, zu dem LinuxAdmin sogar schon einen Link gepostet hat.

Hotmail nimmt die RFC offenbar nicht ernst und behält sich vor, auch entgegengenommene Mails nicht in das Postfach den Users zuzustellen.

Im Endeffekt läuft es wohl auf die Problematik mit A <=> PTR auf dem DNS hinaus. Wobei sie da echt spätestens beim "rcpt to" abriegeln und sauber einen 550 mit Prosatext schicken könnten. Aber RFC-Konformität ist mancherorts eben ein Fremdwort...
 
Den habe ich schon gelesen. Die einzige potentielle Lösung, die ich da raus lese, ist die SenderID. Alles andere ist korrekt, PTR, RDNS, HELO etc. selbst einen SPF habe ich gesetzt.

Wie ich am Anfang ja geschrieben habe funktioniert Interessanterweise der Versand, wenn er über DOMAIN0 mit entsprechender IP abewickelt wird. Und zwar ohne SPF und ohne SenderID. Das kann also nicht das Problem und auch nicht die Lösung sein.

Hat es möglicherweise etwas mit dem Alter der Domain zu tun?
 
So nun kommt die nächste Beobachtung:

Die Probleme scheinen nicht mit dem smtp-Server zusammenzuhängen. Wenn ich per dial-up eine Verbindung zu dem Server herstelle und eine e-mail an Hotmail schicke kommt diese problemlos an. (Header der e-mail ist wie gewünscht, DOMAIN0 ist eliminiert)

Anscheinend wird sie nur nicht zugestellt wenn der Server gleichtzeitig selbst als smtp-client fungiert, z.B. wenn die zu sendende e-mail durch phpmailer direkt auf dem Server erstellt wird.

Was könnte der Grund dafür sein und welche Lösung gibt es.
 
Ohne echte Domainnamen, IPs und Headers einer vom Server versandten Mail ist das schwer bis überhaupt nicht zu sagen.
 
So und jetzt kommts:

Ich habe den smtp client vom postfix mal an eine andere Ip gebunden und siehe da, die e-mails kommen bei hotmail an.
Anscheinen dürfen der Server und der smtp client nicht die gleiche IP-Adresse haben. Zumindest in meinem Fall.

Mit dem jetzigen Zustand könnte ich leben. Allerdings ist es völliger Schwachsinn, denn der Header der angekommenen e-mail zeigt nun:

Received: from smtp.DOMAIN1 ([0.0.0.0])...

sprich er zeigt den Hostnamen von der Domain1 mit der IP-Adresse von der Domain0 an. (smtp-client ist an IP von Domain0 gebunden).

Sehr komisch das ganze. Hotmail halt.
 
Lustigerweise nimmt nun YAHOO keine HTML-e-mails mehr an sondern nur noch textmails. :eek::eek::eek::eek:

Es ist doch wirklich zum VERZWEIFELN.
 
Anscheinend wurden die e-mails bei YAHOO nur verzögert. Es funktioniert nun.

Allerdings ist natürlich nicht geklärt, warum bei hotmail server und smtp client nicht die gleiche IPadresse haben dürfen.
 
Allerdings ist natürlich nicht geklärt, warum bei hotmail server und smtp client nicht die gleiche IPadresse haben dürfen.
Das ist eine Annahme, die du Aufgrund von Beobachtungen einer geringen Menge SMTP-Verbindungen von wenigen IPs getroffen hast.
Ich würde das weniger absolut formulieren.

Wie schaut es mit der Erklärung aus?: Da du in der Vergangenheit mit Hostnames/DNS-Records experimentiert hast, hat Hotmail die eine IP auf ihre Blacklist gesetzt. Deshalb geht es, wenn du die Mail über eine andere IP versendest.

Ich muss an dieser Stelle nochmal darauf hinweisen, dass es nicht schlecht wäre, wenn du Domainnamen und IP-Adresse nennen könntest, sowie die Header einer exemplarischen Mail posten (komplett und unverändert).
Wenn du Hilfe willst, musst du "echte" Informationen bringen.
 
Mal 'ne andere Richtung ...

Wie Du schreibst, läuft eine sekundäre IP-Adresse ohne Probleme.
Liegt die in einem anderen Segment als die IP-Adresse, die nicht läuft?
Kommen im Protokoll beim Verbindungsaufbau zu hotmail definitiv keinerlei Meldungen, woraus hervorgeht, dass der Verbindungsaufbau abgelehnt wird, o.ä.?

Also, ich hatte mal das Problem, dass ein komplettes IP-Segment meines Providers auf einer Blacklist gelandet ist, und das nur weil ein oder zwei IP-Adressen in diesem Segment als Spammer entlarvt wurden und mein Provider angeblich auf Aufforderungen, hier eine Klärung herbeizuführen, nicht geantwortet hatte. Nachdem ich mich mit meinem Provider in Verbindung gesetzt hatte, konnte dies schnell geklärt (geöffnet) werden. Provider wie hotmail, gmx & Co. sind mittlerweile ebenfalls dazu übergegangen, Spammer, die auf einer Blacklist erscheinen, ohnen weiteren Kommentar zu blocken. Die Anwender erhalten allerdings hierüber keine Info. Da kann man sich einerseits drüber streiten, nur sind andererseits die Konten gratis und der spam kostet richtig Resourcen. Das der Provider sich hiergegen wehrt, kann ich durchaus verstehen.

Zwischenzeitlich konnte ich eine sekundäre IP-Adresse, die nicht im gleichen Segment lag, erfolgreich als Übergangslösung verwenden.

Aber das sind nur mal so Ideen.
 
Das ist eine Annahme, die du Aufgrund von Beobachtungen einer geringen Menge SMTP-Verbindungen von wenigen IPs getroffen hast.
Natürlich kann meine Schlussfolgerung auch falsch sein. Vielleicht sind die IPs auch geblacklisted, was aber nicht an meinen Tests liegen kann, denn der Versand zu Hotmail hat mit ihnen noch nie funktioniert. D.h. sie müssen schon vor der Zuteiling an mich geblacklistet worden sein. Keine Ahnung ob Hotmail IPs nach einer Zeit wieder whitelisted.
 
Back
Top