Mit dem veränderten To: (es geht doch um das To:, oder?):
ich vermute eher procmail oder exim, und zwar das die Mail weitergeleitet wird
an einen Username ohne expliziten Domain-Teil, also test anstatt
test@eure.dom.
Wenn irgendwo nur der Username auftaucht hängt exim oder prcomail den
$HOSTNAME dran.
Evtl. läßt sich das für exim über die /etc/aliases regeln, also test:
test@eure.dom
Kannst du evtl. (mit Unkenntlichmachung) mal einen expliziten Teil posten vom:
fetchmail-Teil
procmail-Teil
und auch mal einen Logfile-Auszug vom exim-Versand für eine Mail (/var/log/mail.log
oder exim.log).
Zum Exchange: Ich bin kein Experte in Sachen Mailserver, aber gerade wenn euer
Mailserver nicht öffentlich erreichbar ist/sein muß, müßt ihr bei der Annahme von
Mails (wer sie also
einliefern darf, was ja nicht zwangsläufig der aus dem From:
sein muß) aupassen. Gerade wenn der Server auch noch Mails ausliefert (extern),
daß ihr kein "offenes Relay" betreibt.
Noch mal zum msmtp: mit der Konfig des Exchange würde das dann noch einfacher,
da dann der --from Teil wegfallen kann, da ihr ja von jedem Mail annehmt.
Und msmtp verändert die Mail halt wirklich in keiner Weise, nicht mal das To:
Lediglich ein Envelope-Eintrag kommt hinzu, das macht exim aber auch.
Teste das ruhig nochmal aus, mit einer testmail und auf der Kommandozeile.
Ich hatte hier extra mal meine Mailumgebung umgebaut, also ein fetchmail
aufgesetzt auf einem Testrechner. Dieses fetchmail holte dann meine Mail,
über mda=procmail und /etc/procmailrc wird die Mail dann verarbeitet.
In der procmailrc habe ich dann diesen msmtp-Aufruf, welcher die Mail an meinen
Mailserver einliefert. Und in diesen Mails werden im Header wirklich nur der Return-Path
verändert. Aber To: und From: bleiben erhalten, und jedes Mailprogramm antwortet
ja auf das From.
Beispiel (analog was ich in dem anderen Post schon schrieb):
Meine Testmail:
To: gerhard@s02.xxx.yyy
Subject: test
From: root@myhost
ein test
wird so versendet:
cat /tmp/testmail | msmtp --host=s02 --from=procmail@xxx.yyy gerhard@xxx.yyy
Was passiert hier?
Ich muß hier --from angeben, da mein Mailserver eben nicht von @myhost Mails
annimmt, sondern nur von @xxx.yyy. Das würde bei dir wegfallen.
Weiterhin gebe ich explizit einen Empfänger an (das ist dann wichtig, wenn im To. der
Mail nicht ich als Empfänger stehe, z.B. von Mails an/von Mailing-Listen). Wenn aber
To: immer für euch "richtige" Empfänger stehen, dann kann man den expliziten
Empfänger auch weglassen und msmtp die Option -t mitgeben, dann wird der
Empfänger aus dem To: der mail genommen.
Nach dem Einliefern bei meinem Mailserver sieht die Mail dann so aus:
X-Spam-Checker-Version: SpamAssassin 3.2.1 (2007-05-02) on s02.xxx.yyy
X-Spam-Level:
X-Spam-Status: No, score=-1.0 required=3.0 tests=ALL_TRUSTED,AWL,BAYES_00,
FH_FROMEML_NOTLD,MISSING_DATE,MISSING_MID,NO_DNS_FOR_FROM shortcircuit=no
autolearn=no version=3.2.1
Delivered-To: gerhard@xxx.yyy
Return-Path: procmail@xxx.yyy
Received: from localhost (myhost.xxx.yyy [::ffff:192.168.1.15])
by s02 with esmtp; Wed, 17 Oct 2007 10:41:27 +0200
id 000D363E.4715CAB7.00002128
To: gerhard@s02.xxx.yyy
Subject: test
From: root@myhost
X-Virus-Status: CLEAN
ein test
Du siehst, From und To sind intakt wie in der Ursprungsmail, lediglich der return-Path
wird verändert (durch mein --from).
Du kannst das auch mit einer "richtigen" mail testen, wenn du diese inkl. Header etc.
in eine datei speicherst und diese wie oben an msmtp "pipest".
Ich will dich jetzt nicht von der exim-Lösung wegbringen, aber wenn das mit exim
nicht richtig funktioniert ist msmtp sicherlich eine kleine.feine Lösung.