Relais Postfix vers Office365

8

J'essaie de configurer un serveur Postfix sur une boîte Linux pour relayer tout le courrier vers notre serveur de messagerie Office365 (Exchange, hébergé par Microsoft), mais je reçois toujours une erreur concernant l'adresse d'envoi:

BB338140DC1: to = relay = pod51010.outlook.com [157.56.234.118]: 587, délai = 7,6, délais = 0,01 / 0 / 2,5 / 5,1, dsn = 5,7,1, état = rebondi (hôte pod51010.outlook.com [ 157.56.234.118] a déclaré: 550 5.7.1 Le client n'a pas l'autorisation d'envoyer en tant qu'expéditeur (en réponse à la fin de la commande DATA))

Office 365 requiert que l'adresse d'envoi dans l'en-tête MAIL FROM et From: soit la même que l'adresse utilisée pour l'authentification. J'ai essayé tout ce que je peux penser dans la configuration pour que cela fonctionne. mapostconf -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]

En outre, il sasl_passwdest défini sur les informations d'identification correctes (testées à l'aide de swaks plusieurs fois.) L'authentification fonctionne et envoie le message lorsque les en-têtes from sont corrects (également testé à l'aide de swaks , ce qui fonctionne)

Les e-mails proviennent de PHP, j'ai donc également essayé de modifier le chemin sendmail php.inipour utiliser la bonne adresse depuis via -f

Ainsi, pour une raison quelconque, les messages provenant de www-data et root ne sont pas réécrits à la satisfaction d'Office 365, et ils n'enverront pas le message.

Y a-t-il des gourous du suffixe qui peuvent m'aider à configurer ce relais?

woodsbw
la source

Réponses:

3

Juste au cas où quelqu'un le verrait plus tard. J'ai finalement réussi à faire fonctionner un relais de messagerie électronique approprié. Les problèmes étaient liés à l'utilisation d'une ancienne version de postfix, qui formatait l'élément "FROM" dans l'enveloppe d'une manière que Office 365 n'aimait pas. La mise à jour de Postfix vers 2.9 ou supérieur (et en utilisant une configuration comme celle ci-dessus) a résolu le problème.

woodsbw
la source
J'ai passé les 3 derniers jours à essayer de configurer ce relais avec sendmail, ssmtp et maintenant postfix. Pouvez-vous m'expliquer un peu plus en profondeur votre sender_canonical? Il faut que ce relais fonctionne? Avec ma configuration, je reçoisJan 9 11:03:11 isvahlrtk01 postfix/smtp[12841]: connect to pod51017.outlook.com[157.56.250.182]:587: Connection timed out
Rhyuk
où avez-vous obtenu le smtp_tls_CAfile pour outlook.com?
pjz
Je n'en ai jamais eu besoin, il fonctionne bien avec ce qui vient avec le serveur Ubuntu.
woodsbw
2

Solution:

  1. N'envoyez pas de courrier à Office365 en tant qu'utilisateur à partir de votre domaine de messagerie hébergé par Office365. Utilisez plutôt un sous-domaine, par exemple, [email protected] au lieu de [email protected]. Cela ne ferait pas de mal de configurer un enregistrement SPF pour services.mydomain.com ou tout ce que vous décidez d'utiliser.

  2. Ne vous authentifiez pas contre mail.messaging.microsoft.com en tant qu'utilisateur Office365. Connectez-vous simplement sur le port 25 et envoyez le courrier à votre domaine comme le ferait n'importe quel agent SMTP étranger.

Skyhawk
la source
C'est suffisant. J'espérais que tout notre courrier passe par un point central ... mais après avoir passé 12 heures à essayer de faire fonctionner ce relais, je le prendrai :)
woodsbw
0

J'ai constaté que certains modules d'authentification SASL étaient manquants. Ce qui suit l'a corrigé:

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

( module simple était probablement suffisant)

RDA
la source