Integrando o Exim4 com o SendGrid

Este artigo é altamente direcionado e tem por objetivo mostrar como fazer para integrar o servidor de email Exim4 com a SendGrid.

[ Hits: 1.156 ]

Por: Fábio Berbert de Paula em 04/06/2020 | Blog: https://youtube.com/c/cotidianohackeado


Introdução



Um dos piores pesadelos de um administrador de sistemas diz respeito ao envio de e-mails, principalmente se você estiver gerenciando uma instância em algum serviço de cloud.

O motivo é que pela facilidade que há de subirmos uma instância em algum cloud (AWS, Azure, Google Cloud etc), também ficou fácil para um spammer subir uma instância e sair disparando e-mails como se não houvesse o amanhã.

Por conta disso a maioria dos provedores de e-mails (Yahoo, Hotmail, Gmail etc) tratam as principais redes cloud com alerta vermelho. Você dificilmente conseguirá montar um servidor de e-mail redondinho que não caia em algum filtro de spam.

Tua configuração pode estar um brinco, com registro SPF, DNS reverso etc, mas basta você estar na rede AWS por exemplo para que os servidores da Microsoft te coloquem em blacklist (pelo menos enfrento esse problema).

Se você não quer ter muita dor de cabeça com servidor de e-mail, uma alternativa a se levar seriamente em consideração é a de terceirizar a entrega de e-mail. Existem dezenas de provedores de envio de mensagens, sendo a SendGrid um dos mais famosos e confiáveis.

Este artigo é extremamente direcionado e tem por objetivo mostrar como fazer para integrar o servidor de email Exim4 com a SendGrid.

Estou partindo do princípio de que você já tem um servidor Exim4 em funcionamento e quer apenas direcionar o tráfego de saída de mensagens para o SMTP da SendGrid.

Configuração do Exim4

Entre no diretório de configuração do Exim4:

# cd /etc/exim4

Edite o arquivo de configuração principal:

# vim exim4.conf.template

Procure pela linha "begin authenticators" e logo abaixo dela adicione:

sendgrid_login:
  driver = plaintext
  public_name = SENDLOGIN
  client_send = : seuUsuario : suaSenha

Troque "seuUsuario" e "suaSenha" por suas credenciais, sem aspas.

Agora procure pela linha "begin routers" e logo abaixo dela adicione:

send_via_sendgrid:
  driver = manualroute
  domains = ! +local_domains
  transport = sendgrid_smtp
  route_list = "* smtp.sendgrid.net::587 byname"
  host_find_failed = defer
  no_more

E por fim procure pela linha "begin transports" e logo abaixo dela adicione:

sendgrid_smtp:
  driver = smtp
  hosts = smtp.sendgrid.net
  hosts_require_auth = <; $host_address
  hosts_require_tls = <; $host_address

Feito isso, reinicie o servidor Exim4:

# service exim4 restart

Faça um teste de roteamento de e-mail. Exemplo, testar se o router irá processar uma entrega para o Gmail:

# exim4 -v -bv [email protected]
[email protected]
  router = send_via_sendgrid, transport = sendgrid_smtp
  host smtp.sendgrid.net [169.45.113.201] port=587
  host smtp.sendgrid.net [167.89.118.51]  port=587
  host smtp.sendgrid.net [167.89.118.58]  port=587
  host smtp.sendgrid.net [169.45.89.186]  port=587


Sucesso! O Exim4 já está configurado para entregar suas mensagens usando o SendGrid.

Para efeito de curiosidade, se você usar o comando acima com um usuário local, o Exim4 fará o processamento local, ignorando o router "send_via_sendgrid", uma vez que "localhost" está em local_domains:

# # exim4 -v -bv [email protected]
R: system_aliases for [email protected]
R: lowuid_aliases for [email protected] (UID 1001)
R: local_user for [email protected]
[email protected]
  router = local_user, transport = maildir_home


Bônus

Se você estiver interessado em usar um provedor de e-mail e não gostou do SendGrid, seguem algumas alternativas:
Referência: Exim 4 configuration for SendGrid | SendGrid Documentation

   

Páginas do artigo
   1. Introdução
Outros artigos deste autor

Rodando ASP em servidores web Linux

Se preparando para obter certificação LPI

Placa Intel PRO/Wireless 3945ABG no Debian Linux

Adote um projeto, ajude o Viva o Linux

I Encontro da Comunidade Viva o Linux

Leitura recomendada

Servidor de email completo com Postfix

Servidor de e-mail no Linux com MTA Sceo

Qmail - Servidor de email em 20 minutos

POP3 gateway com fetchmail

Como acessar contas do Hotmail no seu cliente de e-mail Linux

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário