PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Externer Mailserver -> manche User auf internem MS [POSTFIX+Cyrus]



tschloss
29.03.05, 12:03
Bin ja echt schon richtig stolz auf meinen schon recht gut laufenden Mailserver, habe aber jetzt beim Versenden ein neues Problem entdeckt.

Die Architektur:
Habe eine Domain xyz.de
Der MX dafür liegt auf einem Provider-MS. Die gültigen Adressaten werden dort in per Alias in POP3-Boxen xyz001 bis xyz0xx gemappt. Zusätzlich laufen dort noch einige Weiterleitungen/Verteiler unter meiner Maildomain.

Ein paar der POP3-Boxen leere ich mit einem lokalen MS per fetchmail-Postfix und stelle sie per Cyrus IMAP im lokalen Netz zur Verfügung. (Die übrigen User holen ihre Post selbst direkt vom Provider-Server ab).

Dem lokalen Postfix habe ich xyz.de auch als eigene Domain gegeben.

Das Problem:
Das klappt auch alles wunderbar, nur beim internen Versenden sind alle Adressaten in xyz.de, die nicht auf dem internen Server geführt werden, unbekannt und können daher nicht addressiert werden.
Beispiel: joe und jim sind auf dem internen (und externen) mailserver bekannt max nur auf dem externen.
Sendet joe auf dem internen Netz nun an jim@xyz.de und max@xyz.de erhalte ich (natürlich) für max@xyz.de einen Fehler.
(Adressaten mit anderen Domains sind davon nicht betroffen, das klappt alles!).

Wenn ich dem internen Postfix aber nicht mitteile, dass er für xyz.de zuständig ist, hatte ich mit fetchmail Probleme (bei der Multidrop Mailbox).

Kann ich beides unter einen Hut bringen?
Also ich stelle mir vor, dass ich folgendes konfiguriere:
- alle Mails an *@xyz.de sind vom externen Mailserver zu handeln....
- ...außer <intern-Liste>
Oder (schlechter) umgekehrt:
- <extern-Liste> xyz-Adresen vom externen Mailserver handeln
- sonst alles vom internen Mailserver handeln

Vielleicht muss ich auch die Domains trennen. Z.B. für den internen Mailserver eine Subdomain aufmachen wie zB intern.xyz.de. Dann müßte ich aber vermutlich beim Empfang ein rewrite vornehmen. Und beim internen Versenden handle ich mir evtl. auch Nachteile ein (muss ich dann auch an "intern.xyz.de" adressieren, um es auf dem "kurzen Wege" zuzustellen?).

Freue mich wie immer auf gute Tipps!!!
Danke!!
Thomas

Terran Marine
29.03.05, 12:23
ilbox).

Kann ich beides unter einen Hut bringen?
Also ich stelle mir vor, dass ich folgendes konfiguriere:
- alle Mails an *@xyz.de sind vom externen Mailserver zu handeln....
- ...außer <intern-Liste>
Oder (schlechter) umgekehrt:
- <extern-Liste> xyz-Adresen vom externen Mailserver handeln
- sonst alles vom internen Mailserver handeln


Kannst über die transports Email-bezogene Wege definieren, dort würde ich alle externen Adressen als Weiterleitung auf den externen angeben.

Ist zwar ein gewisser Aufwand, aber ich denke eine Trennung der Domains ist noch viel aufwendiger.

Gruß
Terran

tschloss
29.03.05, 14:36
Das klingt gut:

Habe ich dich richtig verstanden:
Ich erstellle eine transport-Map (eingehängt per "transport_maps = ...") mit folgendem Inhalt
nichtintern1@xyz.de smtp
nichtintern2@xyz.de smtp
....

...also quasi alle Mailadressaten, die nicht intern abgewickelt werden können.

Das probiere ich gleich aus!
Danke - was wäre mein Mailserverprojekt ohne deine Hilfe :)

Terran Marine
29.03.05, 14:58
Das klingt gut:

Habe ich dich richtig verstanden:
Ich erstellle eine transport-Map (eingehängt per "transport_maps = ...") mit folgendem Inhalt
nichtintern1@xyz.de smtp
nichtintern2@xyz.de smtp


Ich würde direkt die IP-Adresse des Servers angeben, weiß jetzt nicht ob es sonst ausreicht :

nichtintern1@xyz.de smtp:[10.0.0.irgendwas]

Gruß
Terran

tschloss
29.03.05, 15:47
Habe jetzt beides ausprobiert: mit "smtp" und smtp:[mailer.provider.de].

In beiden Fällen kommt sehr schnell der Fehler (thunderbird 0.8) "...the mail server responded <nichtintern@xyz.de>: Recipient adress rejected: User unknown in local recipient table."

[Habe die map auch ordentlich ge-postmap´ped und vorsichthalber sogar ein restart gemacht]

Hier der Tail der Mail-log (das waren mehrere Versuche, die Mail loszuwerden, einmal mit Outlook und ein paar mal mit Thunderbird. (Fehlen wohl einige CR)
"ts" ist der nichtinterne Adressat.


Mar 29 15:09:03 linux postfix/smtpd[4600]: connect from unknown[192.168.0.4] Mar 29 15:09:05 linux postfix/smtpd[4600]: NOQUEUE: reject: RCPT from unknown[192.168.0.4]: 550 <ts@gcmv.de>: Recipient address rejected: User unknown in local recipient table; from=<sl@gcmv.de> to=<ts@gcmv.de> proto=ESMTP helo=<tjs3> Mar 29 15:09:14 linux postfix/cleanup[4603]: E9E7914596: message-id=<20050329130914.E9E7914596@gcmv-mail.gcmv.de>
Mar 29 15:09:14 linux postfix/qmgr[3431]: E9E7914596: from=<double-bounce@gcmv-mail.gcmv.de>, size=790, nrcpt=1 (queue active) Mar 29 15:09:15 linux postfix/smtpd[4600]: disconnect from unknown[192.168.0.4] Mar 29 15:09:15 linux postfix/lmtp[4605]: E9E7914596: to=<tschloss@gcmv.de>, orig_to=<postmaster>, relay=/var/lib/imap/socket/lmtp[/var/lib/imap/socket/lmtp], delay=1, status=sent (250 2.1.5 Ok) Mar 29 15:09:15 linux postfix/qmgr[3431]: E9E7914596: removed Mar 29 15:12:03 linux postfix/master[3417]: reload configuration Mar 29 15:12:55 linux postfix/smtpd[4621]: connect from unknown[192.168.0.219] Mar 29 15:12:55 linux postfix/smtpd[4621]: NOQUEUE: reject: RCPT from unknown[192.168.0.219]: 550 <ts@gcmv.de>: Recipient address rejected: User unknown in local recipient table; from=<zp@gcmv.de> to=<ts@gcmv.de> proto=ESMTP helo=<[192.168.0.219]> Mar 29 15:15:49 linux postfix/smtpd[4621]: lost connection after RCPT from unknown[192.168.0.219] Mar 29 15:15:49 linux postfix/trivial-rewrite[4623]: table hash:/etc/postfix/transport(0,100) has changed -- restarting Mar 29 15:15:49 linux postfix/cleanup[4650]: 1B2F214596: message-id=<20050329131549.1B2F214596@gcmv-mail.gcmv.de>
Mar 29 15:15:49 linux postfix/qmgr[4618]: 1B2F214596: from=<double-bounce@gcmv-mail.gcmv.de>, size=825, nrcpt=1 (queue active) Mar 29 15:15:49 linux postfix/smtpd[4621]: disconnect from unknown[192.168.0.219] Mar 29 15:15:49 linux postfix/lmtp[4653]: 1B2F214596: to=<tschloss@gcmv.de>, orig_to=<postmaster>, relay=/var/lib/imap/socket/lmtp[/var/lib/imap/socket/lmtp], delay=0, status=sent (250 2.1.5 Ok) Mar 29 15:15:49 linux postfix/qmgr[4618]: 1B2F214596: removed Mar 29 15:15:51 linux postfix/smtpd[4621]: connect from unknown[192.168.0.219] Mar 29 15:15:51 linux postfix/smtpd[4621]: NOQUEUE: reject: RCPT from unknown[192.168.0.219]: 550 <ts@gcmv.de>: Recipient address rejected: User unknown in local recipient table; from=<zp@gcmv.de> to=<ts@gcmv.de> proto=ESMTP helo=<[192.168.0.219]> Mar 29 15:15:56 linux postfix/smtpd[4621]: lost connection after RCPT from unknown[192.168.0.219] Mar 29 15:15:56 linux postfix/cleanup[4650]: 8570D14596: message-id=<20050329131556.8570D14596@gcmv-mail.gcmv.de>
Mar 29 15:15:56 linux postfix/smtpd[4621]: disconnect from unknown[192.168.0.219] Mar 29 15:15:56 linux postfix/qmgr[4618]: 8570D14596: from=<double-bounce@gcmv-mail.gcmv.de>, size=825, nrcpt=1 (queue active) Mar 29 15:15:56 linux postfix/lmtp[4653]: 8570D14596: to=<tschloss@gcmv.de>, orig_to=<postmaster>, relay=/var/lib/imap/socket/lmtp[/var/lib/imap/socket/lmtp], delay=0, status=sent (250 2.1.5 Ok) Mar 29 15:15:56 linux postfix/qmgr[4618]: 8570D14596: removed Mar 29 15:16:20 linux postfix/smtpd[4621]: connect from unknown[192.168.0.219] Mar 29 15:16:20 linux postfix/smtpd[4621]: NOQUEUE: reject: RCPT from unknown[192.168.0.219]: 550 <ts@gcmv.de>: Recipient address rejected: User unknown in local recipient table; from=<zp@gcmv.de> to=<ts@gcmv.de> proto=ESMTP helo=<[192.168.0.219]> Mar 29 15:17:00 linux postfix/master[3417]: terminating on signal 15 Mar 29 15:17:03 linux postfix/postfix-script: starting the Postfix mail system Mar 29 15:17:03 linux postfix/master[4729]: daemon started -- version 2.1.5 Mar 29 15:17:15 linux postfix/smtpd[4748]: connect from unknown[192.168.0.219] Mar 29 15:17:15 linux postfix/smtpd[4748]: NOQUEUE: reject: RCPT from unknown[192.168.0.219]: 550 <ts@gcmv.de>: Recipient address rejected: User unknown in local recipient table; from=<zp@gcmv.de> to=<ts@gcmv.de> proto=ESMTP helo=<[192.168.0.219]> Mar 29 15:22:15 linux postfix/smtpd[4748]: timeout after RCPT from unknown[192.168.0.219] Mar 29 15:22:15 linux postfix/cleanup[4752]: 5BB2614596: message-id=<20050329132215.5BB2614596@gcmv-mail.gcmv.de>
Mar 29 15:22:15 linux postfix/qmgr[4738]: 5BB2614596: from=<double-bounce@gcmv-mail.gcmv.de>, size=870, nrcpt=1 (queue active) Mar 29 15:22:15 linux postfix/smtpd[4748]: disconnect from unknown[192.168.0.219] Mar 29 15:22:15 linux postfix/lmtp[4754]: 5BB2614596: to=<tschloss@gcmv.de>, orig_to=<postmaster>, relay=/var/lib/imap/socket/lmtp[/var/lib/imap/socket/lmtp], delay=0, status=sent (250 2.1.5 Ok) Mar 29 15:22:15 linux postfix/qmgr[4738]: 5BB2614596: removed


Irgendwelche Erklärungen woran das liegen könnte?
Grüße
Thomas

Terran Marine
29.03.05, 15:57
Ist praktisch nicht lesbar,

kannst du das nochmal in ordentlicher Form posten?

Gruß
Terran

tschloss
29.03.05, 16:06
Sorry! Wie gesagt, das waren mehrere Versuche von verschiedenen Clients.


Mar 29 15:09:03 linux postfix/smtpd[4600]: connect from unknown[192.168.0.4]
Mar 29 15:09:05 linux postfix/smtpd[4600]: NOQUEUE: reject: RCPT from unknown[192.168.0.4]: 550 <ts@gcmv.de>: Recipient address rejected: User unknown in local recipient table; from=<sl@gcmv.de> to=<ts@gcmv.de> proto=ESMTP helo=<tjs3>
Mar 29 15:09:14 linux postfix/cleanup[4603]: E9E7914596: essage-id=<20050329130914.E9E7914596@gcmv-mail.gcmv.de>
Mar 29 15:09:14 linux postfix/qmgr[3431]: E9E7914596: from=<double-bounce@gcmv-mail.gcmv.de>, size=790, nrcpt=1 (queue active)
Mar 29 15:09:15 linux postfix/smtpd[4600]: disconnect from unknown[192.168.0.4]
Mar 29 15:09:15 linux postfix/lmtp[4605]: E9E7914596: to=<tschloss@gcmv.de>, orig_to=<postmaster>, relay=/var/lib/imap/socket/lmtp[/var/lib/imap/socket/lmtp], delay=1, status=sent (250 2.1.5 Ok)
Mar 29 15:09:15 linux postfix/qmgr[3431]: E9E7914596: removed
Mar 29 15:12:03 linux postfix/master[3417]: reload configuration
Mar 29 15:12:55 linux postfix/smtpd[4621]: connect from unknown[192.168.0.219]
Mar 29 15:12:55 linux postfix/smtpd[4621]: NOQUEUE: reject: RCPT from unknown[192.168.0.219]: 550 <ts@gcmv.de>: Recipient address rejected: User unknown in local recipient table; from=<zp@gcmv.de> to=<ts@gcmv.de> proto=ESMTP helo=<[192.168.0.219]>
Mar 29 15:15:49 linux postfix/smtpd[4621]: lost connection after RCPT from unknown[192.168.0.219]
Mar 29 15:15:49 linux postfix/trivial-rewrite[4623]: table hash:/etc/postfix/transport(0,100) has changed -- restarting
Mar 29 15:15:49 linux postfix/cleanup[4650]: 1B2F214596: message-id=<20050329131549.1B2F214596@gcmv-mail.gcmv.de>
Mar 29 15:15:49 linux postfix/qmgr[4618]: 1B2F214596: from=<double-bounce@gcmv-mail.gcmv.de>, size=825, nrcpt=1 (queue active)
Mar 29 15:15:49 linux postfix/smtpd[4621]: disconnect from unknown[192.168.0.219]
Mar 29 15:15:49 linux postfix/lmtp[4653]: 1B2F214596: to=<tschloss@gcmv.de>, orig_to=<postmaster>, relay=/var/lib/imap/socket/lmtp[/var/lib/imap/socket/lmtp], delay=0, status=sent (250 2.1.5 Ok)
Mar 29 15:15:49 linux postfix/qmgr[4618]: 1B2F214596: removed
Mar 29 15:15:51 linux postfix/smtpd[4621]: connect from unknown[192.168.0.219]
Mar 29 15:15:51 linux postfix/smtpd[4621]: NOQUEUE: reject: RCPT from unknown[192.168.0.219]: 550 <ts@gcmv.de>: Recipient address rejected: User unknown in local recipient table; from=<zp@gcmv.de> to=<ts@gcmv.de> proto=ESMTP helo=<[192.168.0.219]>
Mar 29 15:15:56 linux postfix/smtpd[4621]: lost connection after RCPT from unknown[192.168.0.219]
Mar 29 15:15:56 linux postfix/cleanup[4650]: 8570D14596: message-id=<20050329131556.8570D14596@gcmv-mail.gcmv.de>
Mar 29 15:15:56 linux postfix/smtpd[4621]: disconnect from unknown[192.168.0.219]
Mar 29 15:15:56 linux postfix/qmgr[4618]: 8570D14596: from=<double-bounce@gcmv-mail.gcmv.de>, size=825, nrcpt=1 (queue active)
Mar 29 15:15:56 linux postfix/lmtp[4653]: 8570D14596: to=<tschloss@gcmv.de>, orig_to=<postmaster>, relay=/var/lib/imap/socket/lmtp[/var/lib/imap/socket/lmtp], delay=0, status=sent (250 2.1.5 Ok)
Mar 29 15:15:56 linux postfix/qmgr[4618]: 8570D14596: removed
Mar 29 15:16:20 linux postfix/smtpd[4621]: connect from unknown[192.168.0.219]
Mar 29 15:16:20 linux postfix/smtpd[4621]: NOQUEUE: reject: RCPT from unknown[192.168.0.219]: 550 <ts@gcmv.de>: Recipient address rejected: User unknown in local recipient table; from=<zp@gcmv.de> to=<ts@gcmv.de> proto=ESMTP helo=<[192.168.0.219]>
Mar 29 15:17:00 linux postfix/master[3417]: terminating on signal 15
Mar 29 15:17:03 linux postfix/postfix-script: starting the Postfix mail system
Mar 29 15:17:03 linux postfix/master[4729]: daemon started -- version 2.1.5
Mar 29 15:17:15 linux postfix/smtpd[4748]: connect from unknown[192.168.0.219]
Mar 29 15:17:15 linux postfix/smtpd[4748]: NOQUEUE: reject: RCPT from unknown[192.168.0.219]: 550 <ts@gcmv.de>: Recipient address rejected: User unknown in local recipient table; from=<zp@gcmv.de> to=<ts@gcmv.de> proto=ESMTP helo=<[192.168.0.219]>
Mar 29 15:22:15 linux postfix/smtpd[4748]: timeout after RCPT from unknown[192.168.0.219]
Mar 29 15:22:15 linux postfix/cleanup[4752]: 5BB2614596: message-id=<20050329132215.5BB2614596@gcmv-mail.gcmv.de>
Mar 29 15:22:15 linux postfix/qmgr[4738]: 5BB2614596: from=<double-bounce@gcmv-mail.gcmv.de>, size=870, nrcpt=1 (queue active)
Mar 29 15:22:15 linux postfix/smtpd[4748]: disconnect from unknown[192.168.0.219]
Mar 29 15:22:15 linux postfix/lmtp[4754]: 5BB2614596: to=<tschloss@gcmv.de>, orig_to=<postmaster>, relay=/var/lib/imap/socket/lmtp[/var/lib/imap/socket/lmtp], delay=0, status=sent (250 2.1.5 Ok)
Mar 29 15:22:15 linux postfix/qmgr[4738]: 5BB2614596: removed

Terran Marine
29.03.05, 18:18
Denkfehler von mir,

postfix nimmt die Mails garnicht erst an, weil er in der lokalen Datenbank prüft ob der User existiert.

Als Abhilfe kannst du local_recipient_maps auf leer setzen,

http://www.postfix.org/postconf.5.html#local_recipient_maps

dann nimmt er allerdings erstmal alles an und bounced dann halt die nicht existenten Empfänger.

Gruß
Terran

tschloss
29.03.05, 19:03
Klasse, funktioniert. Da bounct auch nichts laut Log!

Ist das jetzt eine saubere Lösung oder arg getrickst?
Nochmal zum Verstehen: die Transport-map zieht erst jetzt an, da das sofortige Zurückweisen unbekannter lokaer EMpfänger angeschaltet ist. Klingt doch gut.

Supi!
Danke nochmals, Terran!!

Terran Marine
29.03.05, 19:18
Klasse, funktioniert. Da bounct auch nichts laut Log!

Ist das jetzt eine saubere Lösung oder arg getrickst?
Nochmal zum Verstehen: die Transport-map zieht erst jetzt an, da das sofortige Zurückweisen unbekannter lokaer EMpfänger angeschaltet ist. Klingt doch gut.


Nicht wirklich getrickst, aber etwas unschön, da nicht existente Empfänger nun nicht mehr im SMTP-Dialog abgefangen werden sondern erst am Exchange, dadurch werden Bounce oder sogar Double-Bounce Messages generiert, die du sonst nicht hast.

Was macht der Parameter local_recipient_maps ?

postfix prüft im SMTP-Dialog ob der Empfänger wirklich existent ist, als Grundlage nimmt er die Quelle aus local_recipient_maps (passwd, mysql etc.).
Existiert der Empfänger nicht, wird die Mail per 5xx Error abgewiesen (Unbekannter Empfänger).
Ist der Wert auf leer gesetzt, werden die Empfänger nicht geprüft, und die Mail wird weiterverarbeitet.

Gruß
Terran

tschloss
29.03.05, 19:30
Thx - ist mir ja schon fast etwas peinlich. Aber Du schreibst ja freiwillig :)