Postfix Office 365 smtp relay: Neste post mostro a você como configurar o postfix para enviar emails usando contas do Office 365.
Após pesquisas na internet, achei uma boa solução para o meu caso. Tenho um servidor local com Postfix + Fetchmail.
O postfix estava sendo usando apenas para repassar os emails obtidos pelo fetchmail. Para o envio de emails, os software clientes (Aqui Outlook) enviavam de forma direta, sem passar pelo postfix.
Com o cenário acima, eu ficava sem controle do que era enviado além de não conseguir implementar emails internos.
A solução abaixo resolveu meu problema.
Enviar email linha de comando: Alguns exemplos
Postfix Office 365 smtp relay: [Configuração]
Para utilizar o smtp relay do postfix usando o Office 365, você precisará:
- Ter o Postfix instalado com os pacotes cyrus-sasl-plain mailx. (Não vou abordar neste post a instalação destes itens)
- Usuário e senhas do Office 365
Atendendo os critérios acima, você irá configurar o principal arquivo do postfix (main.cf – Geralmente acessado em /etc/postfix/main.cf)
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
smtp_tls_security_level = may
smtp_sender_dependent_authentication = yes
smtp_sasl_password_maps = regexp:/etc/postfix/sasl_passwd
smtp_use_tls = yes
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
A grande “sacada” para usar o Office 365 como smtp relay é mudar a forma como o postfix vê o arquivo contendo usuário e senha.
O comum é usarmos a expressão:
“smtp_sasl_password_maps = hash:/local-do-arquivo
“
Mas para usarmos o Office 365, usamos regex no lugar de hash.
Fazendo dessa forma, podemos utilizar múltiplas contas de email.
Além de usar o login e senha correspondente ao remetente. Tipo, usuário envia um email de contato@xyz.com
No arquivo sasl_passwd estará:
/^contato@xyz.com contato@xyz.com:senha
/^financeiro@xyz.com financeiro@xyz.com:senha
/^<>$/ admin@xyz.com:senha
No arquivo acima, temos as contas contato, financeiro e admin. Desta forma, quando um usuário enviar um email usando contato@xyz.com, o postfix usará exatamente esta conta para enviar email e assim por diante.
Mas quando um usuário enviar um email usando a conta producao@xyz,com, o postfix deveria usar a conta admin@xyz.com
Isso se deve a não ter nenhuma conta producao@xyz no arquivo. Para todas as contas que não estão no arquivo, o postfix deveria usar a conta admin@xyz
Para ficar perfeito meu projeto, falta descobrir como fazer o procedimento acima.
Fonte: http://dbaharrison.blogspot.com/
https://www.sv.net.br/
https://apiit.atlassian.net/
Muito bom!