Ich versuche, E-Mail-Berichte von unseren AWS EC2-Instanzen abzurufen. Wir verwenden Exchange Online (Teil von Microsoft Online Services). Ich habe ein Benutzerkonto speziell für die SMTP-Weiterleitung eingerichtet und Postfix, um alle Anforderungen für die Weiterleitung von Nachrichten über diesen Server zu erfüllen. Der SMTP-Server von Exchange Online lehnt jedoch Nachrichten ab, es sei denn, die Absenderadresse stimmt genau mit der Authentifizierungsadresse überein (die Fehlermeldung lautet 550 5.7.1 Client does not have permissions to send as this sender
).
Mit sorgfältiger Konfiguration kann ich meine Dienste so einrichten, dass sie als dieser Benutzer gesendet werden. Aber ich bin kein großer Fan von Vorsicht - ich hätte es lieber, wenn Postfix das Problem erzwingt. Gibt es eine Möglichkeit, dies zu tun?
quelle
sender_canonical_maps
Postfix können abgelehnte E-Mails nicht auf dem lokalen Spoolpostconf -e sender_canonical_classes=envelope_sender,header_sender
postconf -e sender_canonical_maps=regexp:/etc/postfix/sender_canonical_maps
postconf -e smtp_header_checks=regexp:/etc/postfix/header_check
(Hinweis: Sowohl FROM- als auch TO-Adressen werden abgeglichen, um generische und kanonische Tabellen zu ersetzen.)
Die Verwendung der kanonischen Tabelle, wenn E-Mails vom Server empfangen werden, ist bereits erklärt, andere Antworten.
Sie können FROM-Adressen neu schreiben, wenn E-Mails vom Server mit gesendet werden
smtp_generic_maps
.Laut postfix dokumentation :
Dann mach:
Verweise:
quelle
hash:
umregexp:
in main.cf und Verwendung Linien wie/foo.*@localdomain.local/ [email protected]
in generischen Karte. Dies wird in der Manpage erklärt: postfix.org/generic.5.htmlUpdate: Auf Anraten eines IT-Freundes führe ich Postfix auf allen meinen Servern aus, anstatt nur einen Cloud-Mail-Server zu erstellen. Hier ist meine Lösung bis jetzt:
/etc/postfix/main.cf
/etc/postfix/sasl_passwd
/etc/postfix/generic
/etc/aliases
/etc/passwd
Dinge, über die ich mich freue:
alias
wer sie erhält.[email protected]
, sodass sie über den MS Online SMTP-Server abgerufen werden.Dinge, über die ich nicht glücklich bin:
passwd
Name-Trick funktioniert nicht immer und es kann schwierig sein herauszufinden, von welchem Server eine Mail kommt.warning: smtp.mail.microsoftonline.com[65.55.171.153] offered null AUTH mechanism list
(SMTP-Server sendetAUTH
vorherSTARTTLS
, aberAUTH LOGIN
nachher eine Nullliste ).certificate verification failed for smtp.mail.microsoftonline.com: num=20:unable to get local issuer certificate
(Es gibt einige Konfigurationsoptionen für Zertifikate, aber ich bin mir nicht sicher, ob die E-Mail-Zustellung bei Erneuerung des Zertifikats unterbrochen wird.)certificate verification failed for smtp.mail.microsoftonline.com: num=27:certificate not trusted
(Wie # 2)Vielen Dank an die serverfault-Community für den Austausch starker Meinungen zu Mailservern.
quelle
Sie können smtpd_sender_login_maps verwenden , um eine Liste von Zuordnungen anzugeben: Absenderadresse - Benutzer.
Beispiel:
/ etc / postfix / login-map:
Es funktioniert für das Senden, es sollte für das Weiterleiten auf die gleiche Weise funktionieren.
quelle
echo "This is a test" | /usr/sbin/sendmail [email protected]
Option aktiviert ist, wird die E-Mail immer noch als von[email protected]
Ich verwende die kanonische Zuordnung , um die Absenderadresse umzuschreiben, z. B. root @ app01 in [email protected].
quelle