Ich verwende Postfix, um E-Mails an Exchange 2010 weiterzuleiten. Hier ist meine Konfiguration:
relayhost = [smtp.exchange.2010]
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/relay_passwd
smtp_sasl_security_options =
#smtp_sasl_mechanism_filter = ntlm
(/etc/postfix/relay_passwd enthält Anmeldeinformationen einiger Konten bei Exchange) Mit dieser Konfiguration kann ich E-Mails an Exchange weiterleiten. Das Problem ist: Die von Postfix gesendete Nachricht hat den Header:
X-MS-Exchange-Organization-AuthAs: Anonymous
und die Nachricht wird im Exchange-System wie eine nicht authentifizierte Nachricht behandelt (d. h. beim Senden an eine Verteilergruppe ist eine Authentifizierung des Absenders erforderlich. Ich erhalte die Fehlermeldung: #550 5.7.1 RESOLVER.RST.AuthRequired; Authentifizierung erforderlich ##rfc822;[email geschützt]). Ich verwende Outlook mit demselben Konto wie in Postfix und es kann problemlos senden. Der Unterschied, den ich zwischen den beiden Fällen festgestellt habe, ist: Outlook sendet mit NTLM-Authentifizierungsmechanismus, Postfix verwendet LOGIN-Mechanismus. Irgendeine Idee?
Antwort1
Laut AlexRobinsons Antwort liegt das Problem bei Postfix. Dies wurde (standardmäßig) in Postfix 2.9 und höher behoben: http://www.postfix.org/postconf.5.html#smtp_send_dummy_mail_auth
[Incompat 20111106] To work around broken remote SMTP servers, the Postfix SMTP client by default no longer appends the "AUTH=<>" option to the MAIL FROM command. Specify "smtp_send_dummy_mail_auth = yes" to restore the old behavior.
Antwort2
Ich habe das gleiche Problem. Und es verursacht Probleme, wenn die E-Mail an eine Gruppe und nicht an eine Einzelperson gesendet wird. Der Exchange-Server sendet nicht an Gruppen, wenn die Nachricht nicht AUTH'd ist. Aber wenn Postfix so eingestellt wurde, dass es sich durch Anmelden authentifiziert, warum ist die E-Mail dann nicht AUTH'd? Hinweis: Wenn Sie Telnet verwenden, um die E-Mail zu senden, wird die E-MailWilleAUTH'd sein. Der Header, den die E-Mail haben wird, wird X-MS-Exchange-Organization-AuthAs: Internal
(in meinem Fall) sein. Und die E-Mail wird an Gruppen gehen!
Folgendes habe ich herausgefunden (indem ich die Peer-Protokollierungsebene von Postfix auf 4 gesetzt habe): Postfix sendet den SMTP-Befehl Mail From: ...... AUTH=<>
. Lassen Sie das AUTH=<>
weg und alles ist gut. Geben Sie es ein und Exchange sagt: .... Anonymous
.
Ich versuche jetzt herauszufinden, warum Postfix lügt.
Ah. Gefunden. Zeile 1358 von smtp_proto.c
Postfix v2.8. Fest codiert. Naja. Das ist sehr bedauerlich. Der Code ist aus Sicherheitssicht völlig korrekt, aber nicht korrekt, wenn Sie die Kontrolle darüber haben, wer in Ihrem Postfix-SMTP-Client an diesen SMTP-Sendecode gelangt.
/* postfix: smtp_proto.c
#ifdef USE_SASL_AUTH
if (var_smtp_sasl_enable
&& (session->features & SMTP_FEATURE_AUTH))
vstring_strcat(next_command, " AUTH=<>");
#endif
An diesem Punkt weiß ich nicht, was ich tun soll, außer den Patch zu installieren smtp_proto.c
und Postfix von Grund auf neu zu erstellen. Igitt.