postfix

Postfix Office 365 smtp relay: [Guia prático]

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]

postfix office 365 smtp relay
Fonte Imagem: Postmastery

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/

0 0 votos
Classificação do artigo
Inscrever-se
Notificar de

1 Comentário
mais antigos
mais recentes Mais votado
Feedbacks embutidos
Ver todos os comentários
root
2 anos atrás

Muito bom!

1
0
Adoraria saber sua opinião, comente.x