Ich versuche, einen Postfix-Server auf einer Linux-Box einzurichten, um alle E-Mails an unseren Office365-Mailserver (Exchange, gehostet von Microsoft) weiterzuleiten. Es wird jedoch weiterhin eine Fehlermeldung bezüglich der Sendeadresse angezeigt:
BB338140DC1: to = Relay = pod51010.outlook.com [157.56.234.118]: 587, Verzögerung = 7,6, Verzögerungen = 0,01 / 0 / 2,5 / 5,1, dsn = 5,7,1, Status = zurückgeworfen (Host pod51010.outlook.com [ 157.56.234.118] sagte: 550 5.7.1 Der Client hat keine Berechtigung zum Senden als dieser Absender (als Antwort auf das Ende des DATA-Befehls).
Für Office 365 muss die Sendeadresse im Header MAIL FROM und From: mit der zur Authentifizierung verwendeten Adresse übereinstimmen. Ich habe alles versucht, was mir in der Konfiguration einfällt, damit dies funktioniert. Meinepostconf -n:
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
debug_peer_list = 127.0.0.1
inet_interfaces = loopback-only
inet_protocols = all
mailbox_size_limit = 0
mydestination = xxxxx, localhost.localdomain, localhost
myhostname = localhost
mynetworks = 127.0.0.0/8
recipient_delimiter = +
relay_domains = our.doamin
relayhost = [pod51010.outlook.com]:587
sender_canonical_classes = envelope_sender
sender_canonical_maps = hash:/etc/postfix/sender_canonical
smtp_always_send_ehlo = yes
smtp_sasl_auth_enable = yes
smtp_sasl_mechanism_filter = login
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options =
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_tls_loglevel = 1
smtp_tls_security_level = may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
/etc/postfix/sender_canonical
::
www-data [email protected]
root [email protected]
www-data@localhost [email protected]
root@localhost [email protected]
Außerdem werden sasl_passwd
die richtigen Anmeldeinformationen festgelegt ( mehrfach mit Swaks getestet ). Die Authentifizierung funktioniert und sendet die Nachricht, wenn die From- Header korrekt sind (auch mit Swaks getestet , was funktioniert).
Die E-Mails kommen von PHP, daher habe ich auch versucht, den Sendmail-Pfad so zu ändern php.ini
, dass die korrekte Absenderadresse über -f übergeben wird
Aus irgendeinem Grund werden bei E-Mails, die von www-data und root stammen, die from-Felder nicht zur Zufriedenheit von Office 365 neu geschrieben, und die Nachricht wird nicht gesendet.
Gibt es Postfix-Gurus, die mir beim Einrichten dieses Relais helfen können?
quelle
Jan 9 11:03:11 isvahlrtk01 postfix/smtp[12841]: connect to pod51017.outlook.com[157.56.250.182]:587: Connection timed out
Lösung:
Senden Sie keine E-Mails von Ihrer von Office365 gehosteten E-Mail-Domäne als Benutzer an Office365. Verwenden Sie stattdessen eine Subdomain, z. B. [email protected] anstelle von [email protected]. Es würde nicht schaden, einen SPF-Eintrag für services.mydomain.com oder was auch immer Sie verwenden möchten einzurichten.
Authentifizieren Sie sich nicht bei mail.messaging.microsoft.com als Office365-Benutzer. Stellen Sie einfach eine Verbindung über Port 25 her und senden Sie die E-Mail an Ihre Domain, wie es jeder ausländische SMTP-Agent tun würde.
quelle
Ich habe festgestellt, dass einige SASL-Authentifizierungsmodule fehlten. Folgendes hat es behoben:
( einfaches Modul war wahrscheinlich genug)
quelle