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: 3.060 ]

Por: Fábio Berbert de Paula em 04/06/2020 | Blog: https://fabio.automatizando.dev


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 bolsonaro@gmail.com
bolsonaro@gmail.com
  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 fabio@localhost
R: system_aliases for fabio@localhost
R: lowuid_aliases for fabio@localhost (UID 1001)
R: local_user for fabio@localhost
fabio@localhost
  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

O Surgimento do Linux

Capturando tela do Android usando shell script

Enviando mensagens de WhatsApp no Linux usando Shell Script e ADB

Ativando o Modo Noturno via Linha de Comando no GNOME/Wayland

Resumo do VOL DAY I

Leitura recomendada

Solução completa com o sendmail

Sendmail com antivírus e autenticação SMTP

Gmail com POP e SMTP no Thunderbird

SlackwareBOX MTA

Webmail Roundcubemail em PHP4/PHP5 com skins, LDAP e extras

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts