Postfix Relay to Office365


8

Sto cercando di impostare un server Postfix su una scatola Linux per inoltrare tutta la posta al nostro server di posta Office365 (Exchange, ospitato da Microsoft), ma continuo a ricevere un errore per quanto riguarda l'indirizzo di invio:

BB338140DC1: to = relay = pod51010.outlook.com [157.56.234.118]: 587, ritardo = 7.6, ritardi = 0.01 / 0 / 2.5 / 5.1, dsn = 5.7.1, stato = rimbalzato (host pod51010.outlook.com [ 157.56.234.118] ha dichiarato: 550 5.7.1 Il client non dispone delle autorizzazioni per l'invio come mittente (in risposta alla fine del comando DATA))

Office 365 richiede che l'indirizzo di invio nell'intestazione MAIL FROM e From: sia uguale all'indirizzo utilizzato per l'autenticazione. Ho provato tutto ciò che mi viene in mente nella configurazione per farlo funzionare. Miopostconf -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                address@mydomain.com
root                    address@mydomain.com
www-data@localhost      address@mydomain.com
root@localhost          address@mydomain.com

Inoltre, sasl_passwdè impostato sulle credenziali corrette (testate più volte utilizzando gli swak ). L'autenticazione funziona e invia il messaggio quando le intestazioni from sono corrette (anche testate utilizzando gli swak , che funziona)

Le e-mail provengono da PHP, quindi ho anche provato a modificare il percorso sendmail php.iniper utilizzare passare l'indirizzo corretto da -f

Pertanto, per qualche motivo, i messaggi provenienti da www-data e root non vengono riscritti in modo soddisfacente per Office 365 e non invieranno il messaggio.

Qualche guru postfix là fuori che può aiutarmi a configurare questo relè?

Risposte:


3

Nel caso in cui qualcuno si imbatte in questo dopo. Finalmente ho fatto funzionare correttamente un relay di posta elettronica. I problemi avevano a che fare con l'uso di una versione precedente di postfix, che formattava l'elemento "FROM" nella busta in un modo che non piaceva a Office 365. L'aggiornamento di Postfix alla versione 2.9 o successiva (e l'utilizzo di una configurazione come quella sopra) ha risolto il problema.


Ho trascorso gli ultimi 3 giorni cercando di impostare questo relay con sendmail, ssmtp e ora postfix. Puoi spiegarmi un po 'più in profondità il tuo mittente_canonico? È necessario che questo relè funzioni? Con il mio setup ottengoJan 9 11:03:11 isvahlrtk01 postfix/smtp[12841]: connect to pod51017.outlook.com[157.56.250.182]:587: Connection timed out
Rhyuk il

dove hai preso il file smtp_tls_CA per outlook.com?
pjz,

Non ne ho mai avuto bisogno, funziona bene con ciò che viene fornito con il server Ubuntu.
woodsbw,

2

Soluzione:

  1. Non inviare posta a Office365 come utente dal dominio di posta elettronica ospitato su Office365. Utilizzare invece un sottodominio, ad esempio address@services.mydomain.com anziché address@mydomain.com. Non sarebbe male creare un record SPF per services.mydomain.com o qualunque cosa tu decida di utilizzare.

  2. Non eseguire l'autenticazione contro mail.messaging.microsoft.com come utente di Office365. Connettiti alla porta 25 e recapita la posta al tuo dominio come farebbe qualsiasi agente SMTP esterno.


Giusto. Speravo che tutta la nostra posta passasse attraverso un punto centrale ... ma dopo aver trascorso 12 ore a provare a far funzionare questo relè, lo prenderò :)
woodsbw

0

Ho scoperto che mancavano alcuni moduli di autenticazione SASL. Risolto il problema seguente:

yum install cyrus-sasl-plain  cyrus-sasl-scram cyrus-sasl-md5  cyrus-sasl-ntlm

( probabilmente il modulo normale era abbastanza)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.