Postfix Relay a Office365


8

Estoy tratando de configurar un servidor Postfix en una caja de Linux para retransmitir todo el correo a nuestro servidor de correo Office365 (Exchange, alojado por Microsoft), pero sigo recibiendo un error con respecto a la dirección de envío:

BB338140DC1: to = relay = pod51010.outlook.com [157.56.234.118]: 587, retraso = 7.6, retrasos = 0.01 / 0 / 2.5 / 5.1, dsn = 5.7.1, estado = rebotado (host pod51010.outlook.com [ 157.56.234.118] dijo: 550 5.7.1 El cliente no tiene permisos para enviar como este remitente (en respuesta al final del comando DATOS))

Office 365 requiere que la dirección de envío en el encabezado MAIL FROM y From: sea la misma que la dirección utilizada para autenticar. He intentado todo lo que puedo pensar en la configuración para que esto funcione. Mipostconf -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

Además, sasl_passwdestá configurado con las credenciales correctas (las probó usando swaks varias veces). La autenticación funciona y envía el mensaje cuando los encabezados from son correctos (también probado usando swaks , que funciona)

Los correos electrónicos provienen de PHP, por lo que también he intentado alterar la ruta de sendmail php.inipara usar la dirección correcta desde -f

Entonces, por alguna razón, el correo proveniente de www-data y root no está reescribiendo los campos from a satisfacción de Office 365, y no enviará el mensaje.

¿Hay algún gurú de postfix que pueda ayudarme a configurar este relé?

Respuestas:


3

Por si alguien se encuentra con esto más tarde. Finalmente conseguí un relevo de correo electrónico adecuado funcionando. Los problemas tenían que ver con el uso de una versión anterior de postfix, que formateó el elemento "DE" en el sobre de una manera que a Office 365 no le gustaba. Actualizar Postfix a 2.9 o superior (y usar una configuración como la anterior) resolvió el problema.


He pasado los últimos 3 días tratando de configurar este relé con sendmail, ssmtp y ahora postfix. ¿Puedes explicarme un poco más en profundidad tu remitente_canónico? ¿Es necesario que este relé funcione? Con mi configuración me saleJan 9 11:03:11 isvahlrtk01 postfix/smtp[12841]: connect to pod51017.outlook.com[157.56.250.182]:587: Connection timed out
Rhyuk

¿de dónde sacaste el smtp_tls_CAfile para outlook.com?
pjz

Nunca lo necesité, juega bien con lo que viene con el servidor Ubuntu.
woodsbw

2

Solución:

  1. No envíe correo a Office365 como usuario desde su dominio de correo electrónico alojado en Office365. Use un subdominio, por ejemplo, dirección@servicios.midominio.com en lugar de dirección@midominio.com. No estaría de más configurar un registro SPF para services.mydomain.com o lo que decida usar.

  2. No se autentique contra mail.messaging.microsoft.com como usuario de Office365. Simplemente conéctese en el puerto 25 y entregue el correo a su dominio como lo haría cualquier agente SMTP extranjero.


Lo suficientemente justo. Tenía la esperanza de conseguir todo nuestro correo de pasar por un punto central ... pero después de pasar 12 horas tratando de conseguir este funcionamiento del relé, lo tomaré :)
woodsbw

0

Descubrí que faltaban algunos módulos de autenticación SASL. Lo siguiente lo arregló:

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

( módulo simple probablemente fue suficiente)

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.