Probleme beim Weiterleiten aller E-Mails über Office365 durch Postfix

Probleme beim Weiterleiten aller E-Mails über Office365 durch Postfix

Dies ist eine ziemlich lange Frage mit einer langen Liste von Dingen, die ich versucht habe, und Mühen, also haben Sie bitte Geduld mit mir. Die Zusammenfassung lautet wie folgt.

  1. Ich kann E-Mails von Ubuntu über Office 365 mit Postfix weiterleiten. Die Konfiguration funktioniert.
  2. Es funktioniert nur als einer der Benutzer; genauer gesagt ist der Benutzer, der sich gegenüber Office365 authentifiziert, der einzige gültige "von"

Weitere Einzelheiten folgen. Ich habe eine Maschine in der Cloud von Amazon, auf der ich eine Reihe von Jobs ausführe und mir Statusmeldungen per E-Mail zusenden lassen möchte. Ich verwende Office365 bei der Arbeit, daher möchte ich E-Mails über Office365 weiterleiten. Ich bin mit Postfix am besten vertraut, daher habe ich das als MTA verwendet.

Die Konfiguration ist ubuntu 12.04LTS: Ich habe Postfix und Mail-Utils installiert.

Für dieses Beispiel nehmen wir an, dass meine Firma " company.com" heißt und die betreffende Maschine (über eine elastische IP und einen DNS-Eintrag) " plaything.company.com" heißt. Der Hostname ist auf " " eingestellt plaything.company.com, also/etc/mailname

Auf Plaything habe ich die folgenden Benutzer registriert alpha: bravo, , und charlie.

Ich habe die folgenden Konfigurationsdateien.

alias_database = hash:/etc/aliases
alias_maps = hash:/usw./Aliase
append_dot_mydomain = nein
biff = nein
Konfigurationsverzeichnis = /etc/postfix
inet_interfaces = alle
inet_protocols = ipv4
Mailbox_size_limit = 0
meinziel = plaything.company.com, localhost.company.com, , localhost
meinhostname = plaything.company.com
meineNetzwerke = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
readme_directory = nein
Empfängertrennzeichen = +
Relayhost = [smtp.office365.com]:587
sender_canonical_maps = Hash:/etc/postfix/sender_canonical
smtp_sasl_auth_enable = ja
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = nicht anonym
smtp_sasl_tls_security_options = nicht anonym
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_use_tls = ja
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = ja

Als die Maschine aufgerufen wurde, plaything.company.comhabe ich alle erforderlichen DNS-Einträge registriert, damit office365 erkennt, dass sie mir gehört , und mir erlaubt, einen Benutzer mit dem Namen office365 plaything.company.comzu erstellen .[email protected]

In Office365 habe ich [email protected]eine weitere E-Mail-Adresse eingerichtet [email protected]: .

Dann habe ich folgendes sender_canonical gemacht

[email geschützt] [email geschützt]

Ich habe eine sasl_passwd-Datei erstellt, die lautet:

smtp.office365.com [email protected]:123456password123456

sagen wir einfach, das Passwort für [email protected]ist1234...456

Melden Sie sich mit all diesen Einstellungen als alphaund an.

mail[email geschützt]
Kopiere:
Betreff: Test
prüfen

und das Ganze funktioniert wunderbar. E-Mails werden per Postfix verschickt, TLS funktioniert einwandfrei, authentifiziert als daemon@...und[email geschützt]in Office365 erhält eine E-Mail-Nachricht.

bravoDas Problem tritt auf, wenn Sie am Computer angemeldet sind .

Absender ist [email protected]und office365 sagt:

Status=abgewiesen (Host smtp.office365.com[132.245.12.25] sagte:
550 5.7.1 Der Client hat keine Berechtigung zum Senden als
dieser Absender (als Antwort auf das Ende des DATA-Befehls))

Dies liegt daran, dass ich versuche, E-Mails als zu senden bravo@...und mich bei Office365 als zu authentifizieren daemon@.... Der Grund dafür alpha@...ist, dass ich in Office365 [email protected]eine andere E-Mail-Adresse eingerichtet habe [email protected]: .


InPostfix-Relay zu Office365,Meilen Ericksonbeantwortet die Frage folgendermaßen:

  1. Senden Sie keine E-Mails an Office365 als Benutzer aus Ihrer von Office365 gehosteten E-Mail-Domäne. Verwenden Sie stattdessen eine Subdomäne, z. B.[email geschützt]anstatt[email geschützt]. Es würde nicht schaden, einen SPF-Eintrag für services.mydomain.com oder was auch immer Sie verwenden möchten, einzurichten.

  2. Authentifizieren Sie sich nicht gegenüber mail.messaging.microsoft.com als Office365-Benutzer. Stellen Sie einfach eine Verbindung über Port 25 her und liefern Sie die E-Mail an Ihre Domäne, wie es jeder fremde SMTP-Agent tun würde.

OK, ich habe Nr. 1 erledigt, ich habe diese Einträge im DNS, aber zum größten Teil sind sie nicht relevant, sobald Office365 erkennt, dass ich der Besitzer der Domäne bin.

Hier sind diese Aufzeichnungen:

CNAME-Einträge: - msoid.plaything.company.com - autodiscover.plaything.company.com

MX-Eintrag: - plaything.company.com (plaything-company-com.mail.protection.outlook.com)

TXT-Eintrag: - plaything.company.com (v=spf1 include:spf.protection.outlook.com -all)

Ich habe Nr. 2 ausprobiert, aber egal, was ich mache, Office365 bricht die Verbindung einfach mit der Meldung „nicht authentifiziert“ ab. Ich kann sogar ein einfaches Telnet an Port 25 ausprobieren und versuchen, eine Nachricht zu senden, aber es funktioniert nicht.

250 BY2PR01CA007.outlook.office365.com Hello [54.221.245.236] 
530 5.7.1 Client was not authenticated 
Connection closed by foreign host.

Gibt es da draußen jemanden, der eine solche Konfiguration zum Laufen bringt, bei der mehrere Benutzer auf einem Linux-Rechner E-Mails mit Postfix über Office365 weiterleiten können? Es muss da draußen jemanden geben, der das macht und mir sagen kann, was mit meinem Setup nicht stimmt ...

Antwort1

Ich glaube, du musst einen Schritt zurücktreten :)

playthingWenn Sie als angemeldet sind bravo, müssen dann wirklich alle von plaything gesendeten E-Mails als gesendet werden [email protected]? Wenn nicht, senden Sie einfach alle E-Mails als [email protected], siehePostfix auf Hosts ohne echten Internet-Hostnamen.

Wenn Sie dies nicht anwenden können, dann benötigen SieAbsenderabhängige SASL-Zuordnungen. Dadurch wird Ihr Setup etwas komplexer, daher würde ich wirklich versuchen, dies zu vermeiden.

Zu guter Letzt: Wenn playthingSie E-Mails als senden möchten [email protected], müssen Sie die Einstellung anpassen myhostnameund/oder myoriginentfernen relayhost. In diesem Fall playthingwürden alle E-Mails direkt zugestellt, mit allen Vor- und Nachteilen wie der Reputation des Mailservers usw.

verwandte Informationen