[linux-l] exim Konfiguration: lokale User ohne Internetadresse

Stefan Bund asbund at gmx.de
Do Apr 1 15:22:06 CEST 2004


Hallo Ihr,

vielleicht kann einer der exim-Profis mir hier helfen, ich komme
einfach nicht weiter.

Ich setze den standard-exim von debian woody (Exim version 3.35)
ein. Ich möchte den Mailserver so konfigurieren, das er keine Mails
mit ungültigen Adressen raussendet. Problem ist, dass dort wo der
Server eingesetzt wird (kleine Firma) keine eigene Domain vorhanden
ist. Die Mitarbeiter haben einzelne Adressen größtenteils bei
irgendwelchen Freemail-Providern, manche haben garkeine (externe)
Email-Adresse.

Ich habe dem Mailserver jetzt beigebracht, die Email-Adressen der
einzelnen User in deren jeweilige externe Adresse zu übersetzten. Das
passiert im remote_smtp transport mittels headers_rewrite. Es gibt
eine Datei /etc/exim/email-addresses, in der die externen Adressen der
Benutzer aufgelistet sind.

Was auch schon geht ist, das Benutzer ohne externe Email-Adresse keine
externe Mail versenden können (mittels condition im smarthost
router). Das Problem ist nun folgendes: Wenn jemand eine Mail an
*mehrere* User versendet und davon einige extern sind, so wird die
Mail natürlich (u.a.) an den remote_smtp transport übergeben. Dort
werden brav die Email-Adressen der internen User mit externer Adresse
in ihr externes Äquivalent umgeschrieben. Leider bleiben die Adressen
derjenigen User, welche *keine* externe Email-Adresse haben einfach
stehen (es sei denn, sie stehen im BCC ...). Und diese Adressen sind
natürlich im Internet ungültig, es existiert ja keine eigene Domain.

Ich habe nun versucht, diese Adressen mit 'undisclosed-recipients:;' zu
ersetzen, aber das erlaubt exim nicht:

Rewrite of user at firma.lan yielded unparseable address: empty address in address undisclosed-recipients:;

Das einzige, was geht, ist 'undisclosed at recipient' ... aber das ist
natürlich genauso eine ungültige Adresse. Die 'w' rewrite Option nützt
mir auch nix, da exim verlangt, das *nach* der Umwandlung wieder eine
RFC822 Adresse dasteht. Obiges *ist* zwar nach RFC822 gültig:

     address     =  mailbox                      ; one addressee
                 /  group                        ; named list

     group       =  phrase ":" [#mailbox] ";"

d.h., die Adressen hinter dem : sind optional, aber exim mags trotzdem
nicht.

Hat jemand eine Idee, wie ich das Problem lösen kann? Ich habe
schonmal versucht nachzusehen, ob die aktuelle exim Version das
Problem behebt. Leider gibt es kein detailliertes ChangeLog für den
Versionsprung 3->4 ...

Stefan.



Mehr Informationen über die Mailingliste linux-l