![Neuer Postfix-Server leitet E-Mails nicht an Office 365 weiter, Status = verschoben](https://rvso.com/image/1157141/Neuer%20Postfix-Server%20leitet%20E-Mails%20nicht%20an%20Office%20365%20weiter%2C%20Status%20%3D%20verschoben.png)
Ich konfiguriere einen neuen Ubuntu-Server (18.04 LTS), der als Mail-Relay für interne Hosts fungiert, um E-Mails zu versenden, beispielsweise Benachrichtigungs-E-Mails, wenn ein Gerät ein Problem hat. Wir verwenden Office 365, sodass wir diese Art von Nachrichten von Geräten und Software intern an unsere Postfächer weiterleiten können. Meine Organisation hat dies seit einigen Jahren ganz einfach mit Postfix eingerichtet. Leider ist der Mitarbeiter, der es eingerichtet hat, schon lange weg, und ich kann keine Dokumentation zu den Einzelheiten finden. Basierend auf einigen Informationen, die ich gefunden habe, scheint es jedoch nicht so, dass die Konfiguration so komplex sein muss. Ich habe Postfix auf dem neuen System installiert und versucht, es so zu konfigurieren, dass es so weit wie möglich der vorhandenen Konfiguration entspricht. Hier ist meine /etc/postfix/main.cf
Datei mit Änderungen zur Anonymisierung:
# See /usr/share/postfix/main.cf.dist for a commented, more complete version
# Debian specific: Specifying a file name will cause the first
# line of that file to be used as the name. The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h
readme_directory = no
# See http://www.postfix.org/COMPATIBILITY_README.html -- default to 2 on
# fresh installs.
compatibility_level = 2
# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = myservername.domain.edu
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = myservername.domain.edu, localhost.domain.edu, localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = ipv4
message_size_limit = 10240000
permit_mynetworks = yes
mynetworks = 172.16.4.0/24, 172.16.5.0/24, 172.16.246.0/24, 192.168.90.0/24, 192.168.1.0/24, ###.###.103.0/24, ###.###.104.0/24, ###.###.106.0/24, ###.###.250.0/24, 10.19.64.0/27, 10.19.66.0/27, 10.19.68.0/27
Ich kann von diesem neuen Server aus auf das Internet zugreifen, ich kann Ressourcen im Internet anpingen usw., aber es werden keine E-Mails gesendet. Ich sehe ständig Protokolleinträge über die Verzögerung von Nachrichten und das Timeout von Verbindungen. Hier sind die letzten 30 Zeilen meiner /var/log/mail.log
Datei, damit Sie sehen können, welche Art von Nachrichten ich sehe. Auch hier habe ich den Inhalt anonymisiert:
user@myservername:~$ tail -30 /var/log/mail.log
May 29 14:23:49 myservername postfix/smtp[3351]: warning: /etc/postfix/main.cf, line 49: overriding earlier entry: mynetworks=127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
May 29 14:24:19 myservername postfix/smtp[3349]: connect to subdomain.domain.edu[###.###.104.118]:25: Connection timed out
May 29 14:24:19 myservername postfix/smtp[3350]: connect to mxa-00246402.gslb.pphosted.com[148.163.147.197]:25: Connection timed out
May 29 14:24:19 myservername postfix/smtp[3351]: connect to subdomain.domain.edu[###.###.104.154]:25: Connection timed out
May 29 14:24:19 myservername postfix/smtp[3351]: connect to subdomain.domain.edu[###.###.104.57]:25: Connection refused
May 29 14:24:19 myservername postfix/smtp[3351]: connect to subdomain.domain.edu[###.###.103.6]:25: Connection refused
May 29 14:24:19 myservername postfix/smtp[3351]: connect to subdomain.domain.edu[###.###.250.72]:25: Connection refused
May 29 14:24:49 myservername postfix/smtp[3350]: connect to mxb-00246402.gslb.pphosted.com[148.163.143.147]:25: Connection timed out
May 29 14:24:49 myservername postfix/smtp[3349]: connect to subdomain.domain.edu[###.###.103.43]:25: Connection timed out
May 29 14:24:49 myservername postfix/bounce[3357]: warning: /etc/postfix/main.cf, line 49: overriding earlier entry: mynetworks=127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
May 29 14:24:49 myservername postfix/smtp[3351]: connect to subdomain.domain.edu[###.###.103.43]:25: Connection timed out
May 29 14:24:49 myservername postfix/bounce[3358]: warning: /etc/postfix/main.cf, line 49: overriding earlier entry: mynetworks=127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
May 29 14:24:49 myservername postfix/smtp[3350]: 35A96120180: to=<[email protected]>, relay=none, delay=631, delays=571/0.03/60/0, dsn=4.4.1, status=deferred (connect to mxb-00246402.gslb.pphosted.com[148.163.143.147]:25: Connection timed out)
May 29 14:24:49 myservername postfix/smtp[3351]: 4047E12083C: to=<[email protected]>, relay=none, delay=431116, delays=431056/0.04/60/0, dsn=4.4.1, status=deferred (connect to subdomain.domain.edu[###.###.103.43]:25: Connection timed out)
May 29 14:25:19 myservername postfix/smtp[3349]: connect to subdomain.domain.edu[###.###.104.154]:25: Connection timed out
May 29 14:25:19 myservername postfix/smtp[3349]: 68665120733: to=<[email protected]>, relay=none, delay=434852, delays=434761/0.06/90/0, dsn=4.4.1, status=deferred (connect to subdomain.domain.edu[###.###.104.154]:25: Connection timed out)
May 29 14:25:19 myservername postfix/qmgr[1688]: 68665120733: from=<[email protected]>, status=expired, returned to sender
May 29 14:25:19 myservername postfix/cleanup[3365]: warning: /etc/postfix/main.cf, line 49: overriding earlier entry: mynetworks=127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
May 29 14:25:19 myservername postfix/cleanup[3365]: CE1B8124492: message-id=<[email protected]>
May 29 14:25:19 myservername postfix/bounce[3357]: 68665120733: sender non-delivery notification: CE1B8124492
May 29 14:25:19 myservername postfix/qmgr[1688]: CE1B8124492: from=<>, size=2844, nrcpt=1 (queue active)
May 29 14:25:19 myservername postfix/qmgr[1688]: 68665120733: removed
May 29 14:25:49 myservername postfix/smtp[3350]: connect to mxa-00246402.gslb.pphosted.com[148.163.147.197]:25: Connection timed out
May 29 14:26:19 myservername postfix/smtp[3350]: connect to mxb-00246402.gslb.pphosted.com[148.163.147.197]:25: Connection timed out
May 29 14:26:19 myservername postfix/smtp[3350]: CE1B8124492: to=<[email protected]>, relay=none, delay=60, delays=0.03/0/60/0, dsn=4.4.1, status=deferred (connect to mxb-00246402.gslb.pphosted.com[148.163.147.197]:25: Connection timed out)
May 29 14:28:49 myservername postfix/qmgr[1688]: 8F7B51200D6: from=<>, size=2838, nrcpt=1 (queue active)
May 29 14:28:49 myservername postfix/trivial-rewrite[3378]: warning: /etc/postfix/main.cf, line 49: overriding earlier entry: mynetworks=127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
May 29 14:28:49 myservername postfix/qmgr[1688]: 92033120E39: from=<>, size=2836, nrcpt=1 (queue active)
May 29 14:28:49 myservername postfix/smtp[3379]: warning: /etc/postfix/main.cf, line 49: overriding earlier entry: mynetworks=127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
May 29 14:28:49 myservername postfix/smtp[3380]: warning: /etc/postfix/main.cf, line 49: overriding earlier entry: mynetworks=127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
Auf dem Host selbst ist keine Firewall konfiguriert oder ausgeführt, und laut meinen Gesprächen mit dem Netzwerktechniker sollte es nichts geben, das diesen Datenverkehr blockiert. Vom vorhandenen Server aus kann ich jedoch per Telnet eine Verbindung zum Office 365-Mailserver herstellen, der im MX-Eintrag für meine Organisation auf Port 25 aufgeführt ist, und eine Antwort erhalten, ein „Hello“ senden usw. Dasselbe kann ich von diesem neuen Server aus nicht tun. Mein Netzwerktechniker ist überzeugt, dass es auf der Firewall nichts gibt, das den ausgehenden Datenverkehr blockieren würde, und obwohl er versucht hat, mir bei der Fehlerbehebung zu helfen, hat er nichts gesehen, was auf die Ursache hinweisen würde. Ich bin nicht sicher, was ich sonst noch übersehen könnte. Für jede Hilfe wäre ich sehr dankbar.
Antwort1
Um ein SMTP-Relay zu konfigurieren, müssen Sie einen Relayhost zusammen mit einigen SASL-Authentifizierungselementen definieren.
Möchten Sie diese Konfigurationselemente am Ende Ihrer main.cf hinzufügen?
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_password
relayhost = your.office365.relayhost
smtp_tls_security_level = may
Natürlich müssen Sie "your.office365.relayhost" durch den echten Hostnamen ersetzen (der [smtp.office365.com]:587
laut diesem Link lauten sollte:https://secopsmonkey.com/mail-relaying-postfix-through-office-365.html
Die Datei sasl_password wird auch im verlinkten Tutorial erklärt, sie sollte ungefähr so aussehen
[smtp.office365.com]:587 [email protected]:soopersekretPassvv0rd
und Sie müssen es mit postmappen postmap hash:/etc/postfix/sasl_passwd
. Danach müssen Sie Postfix mit neu starten systemctl restart postfix.service
.
Mit Office 365 kenne ich mich zwar nicht aus, aber beim Relaying über MS Exchange Server ist es durchaus üblich, dass man unterschiedliche Ports ausprobieren muss.
Hoffe das hilft!