Esta é uma pergunta bastante longa, com uma longa lista de coisas tentadas e difíceis, então, por favor, tenha paciência comigo. O resumo é este.
- Consigo retransmitir e-mails do Ubuntu através do office365 usando o postfix; a configuração funciona.
- Funciona apenas como um dos usuários; mais especificamente, o usuário que se autentica no office365 é o único "de" válido
Mais detalhes seguem. Tenho uma máquina na nuvem da Amazon na qual executo vários trabalhos e gostaria que os status fossem enviados para mim. Eu uso o office365 no trabalho, então quero retransmitir mensagens através do office365. Estou mais familiarizado com o postfix, então usei-o como MTA.
A configuração é ubuntu 12.04LTS
; Instalei o postfix e o mail-utils.
Para este exemplo, deixe-me dizer que minha empresa é " company.com
" e a máquina em questão (através de um IP elástico e uma entrada DNS) se chama " plaything.company.com
". nome do host está definido como " plaything.company.com
", assim como/etc/mailname
No brinquedo, tenho os seguintes usuários registrados alpha
, bravo
e charlie
.
Eu tenho os seguintes arquivos de configuração.
alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases anexar_ponto_meudominio = não biff = não diretório_config = /etc/postfix inet_interfaces = todos protocolos_inet = ipv4 mailbox_size_limit = 0 meudestino = plaything.empresa.com, localhost.empresa.com, , localhost meuhostname = plaything.company.com minhas redes = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 minhaorigem = /etc/mailname diretório_readme = não destinatário_delimitador = + reléhost = [smtp.office365.com]:587 sender_canonical_maps = hash:/etc/postfix/sender_canonical smtp_sasl_auth_enable = sim smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options=noanonymous smtp_sasl_tls_security_options=noanonymous smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt smtp_tls_session_cache_database=btree:${data_directory}/smtp_scache smtp_use_tls = sim smtpd_banner = $meuhostname 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 = sim
À medida que a máquina é chamada, plaything.company.com
passei pelo exercício de registrar todas as entradas DNS apropriadas para fazer com que o office365 reconhecesse que eu era o proprietário plaything.company.com
e me permitiu criar um usuário chamado [email protected]
no office365.
No office365, configurei [email protected]
como tendo outro endereço de e-mail [email protected]
.
Então, fiz o seguinte sender_canonical
[e-mail protegido] [e-mail protegido]
Criei um arquivo sasl_passwd que diz:
smtp.office365.com [email protected]:123456password123456
digamos apenas que a senha [email protected]
é1234...456
Com toda essa configuração, faça login como alpha
e
correspondência[e-mail protegido] CC: Assunto: teste teste
e tudo funciona maravilhosamente bem. o e-mail é enviado pelo postfix, o TLS funciona como um campeão, autentica como daemon@...
e[e-mail protegido]no Office365 recebe uma mensagem de email.
O problema surge quando conectado bravo
à máquina.
remetente é [email protected]
e office365 diz:
status=bounced (host smtp.office365.com[132.245.12.25] disse: 550 5.7.1 O cliente não tem permissão para enviar como este remetente (em resposta ao final do comando DATA))
isso ocorre porque estou tentando enviar e-mails como bravo@...
e autenticar com office365 como daemon@...
. A razão pela qual funciona alpha@...
é porque no office365, eu configurei [email protected]
como tendo outro endereço de e-mail [email protected]
.
EmRetransmissão Postfix para Office365,Miles Ericksonresponde a pergunta assim:
Não envie emails para o Office365 como um usuário do seu domínio de email hospedado no Office365. Use um subdomínio, por exemplo[e-mail protegido]em vez de[e-mail protegido]. Não faria mal nenhum configurar um registro SPF para services.mydomain.com ou o que você decidir usar.
Não se autentique em mail.messaging.microsoft.com como um usuário do Office365. Basta conectar-se na porta 25 e entregar o e-mail em seu domínio como qualquer agente SMTP estrangeiro faria.
OK, fiz o número 1, tenho esses registros no DNS, mas na maioria das vezes eles não são relevantes quando o Office365 reconhece que sou o proprietário do domínio.
Aqui estão esses registros:
Registros CNAME: - msoid.plaything.company.com - autodiscover.plaything.company.com
Registro MX: - plaything.company.com (plaything-company-com.mail.protection.outlook.com)
Registro TXT: - plaything.company.com (v=spf1 include:spf.protection.outlook.com -all)
Eu tentei o número 2, mas não importa o que eu faça, o office365 simplesmente acaba com a conexão com "não autenticado". Posso tentar até um simples telnet para a porta 25 e tentar enviar e não funciona.
250 BY2PR01CA007.outlook.office365.com Hello [54.221.245.236]
530 5.7.1 Client was not authenticated
Connection closed by foreign host.
Existe alguém por aí que tem esse tipo de configuração funcionando onde vários usuários em uma máquina Linux são capazes de retransmitir e-mails usando o postfix através do office365? Deve haver alguém fazendo isso que possa me dizer o que há de errado com minha configuração ...
Responder1
Acho que você precisa dar um passo para trás :)
Se você estiver logado plaything
como bravo
, você realmente precisa que todos os e-mails enviados do plaything sejam enviados como [email protected]
? Caso contrário, simplesmente envie todos os e-mails como [email protected]
, consultePostfix em hosts sem um nome de host real da Internet.
Se você não puder aplicar isso, precisaráMapas SASL dependentes do remetente. Isso adicionará alguma complexidade à sua configuração, então eu realmente tentaria evitar isso.
Por último, mas não menos importante, se plaything
você enviar e-mails como [email protected]
, você precisará ajustar myhostname
e/ou myorigin
também se livrar da relayhost
configuração. Neste caso, plaything
entregaria todos os e-mails diretamente, com todos os prós e contras, como reputação do servidor de e-mail e assim por diante.