Postfix Relay to Office365

8

Estou tentando configurar um servidor Postfix em uma caixa Linux para retransmitir todos os e-mails para nosso servidor de e-mail Office365 (Exchange, hospedado pela Microsoft), mas continuo recebendo um erro sobre o endereço de envio:

BB338140DC1: to= relay=pod51010.outlook.com[157.56.234.118]:587, delay=7.6, delays=0.01/0/2.5/5.1, dsn=5.7.1, status=bounced (host pod51010.outlook.com[157.56.234.118] said: 550 5.7.1 Client does not have permissions to send as this sender (in reply to end of DATA command))

O Office 365 exige que o endereço de envio nos cabeçalhos MAIL FROM e From: seja o mesmo que o endereço usado para autenticação. Eu tentei tudo o que posso pensar na configuração para obter este trabalho. Meu postconf -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]

Além disso, sasl_passwd está definido com as credenciais corretas (testou-as usando swaks várias vezes.) A autenticação funciona e envia a mensagem quando os cabeçalhos estão corretos (testado também usando swaks , que funciona)

Os e-mails são provenientes do PHP, então eu também tentei alterar o caminho do sendmail em php.ini para usar o passe do endereço correto via -f

Portanto, por algum motivo, os e-mails provenientes de www-data e root não estão sendo reescritos para a satisfação do Office 365 e não serão enviados mensagem.

Algum guru de postfix que possa me ajudar a configurar esse revezamento?

    
por woodsbw 13.04.2012 / 00:14

3 respostas

3

Apenas no caso de alguém se deparar com isso mais tarde. Eu finalmente consegui um relé de e-mail adequado funcionando. Os problemas tinham a ver com o uso de uma versão mais antiga do postfix, que formatava o elemento "FROM" no envelope de uma maneira que o Office 365 não gostava. A atualização do Postfix para 2.9 ou superior (e usando uma configuração como a acima) resolveu o problema.

    
por 24.07.2012 / 16:11
2

Solução:

  1. Não envie mensagens para o Office365 como um usuário do domínio de email hospedado no Office365. Use um subdomínio, por exemplo [email protected] em vez de [email protected]. Não faria mal configurar um registro SPF para services.mydomain.com ou o que você decidir usar.

  2. Não autentique contra mail.messaging.microsoft.com como usuário do Office365. Basta conectar-se à porta 25 e entregar o e-mail ao seu domínio como qualquer agente SMTP externo faria.

por 13.04.2012 / 05:13
0

Descobri que alguns módulos de autenticação SASL estavam faltando. O seguinte corrigiu:

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

( simples módulo provavelmente foi o suficiente)

    
por 07.01.2016 / 21:36