Configurar e-mail SMTP no Chatwoot

O Chatwoot usa SMTP para enviar notificações de novas conversas, e-mails de reset de senha e respostas por e-mail a clientes. Sem SMTP configurado, nenhum e-mail transacional sai. A configuração é feita via variáveis de ambiente no docker-compose.yml e leva menos de 5 minutos.

Variáveis de ambiente SMTP

Todas as configurações de e-mail do Chatwoot são controladas por variáveis de ambiente. Adicione ao seu arquivo .env:

bash
# E-mail remetente padrão
MAILER_SENDER_EMAIL=noreply@seudominio.com.br

# Configuração SMTP
SMTP_DOMAIN=seudominio.com.br
SMTP_ADDRESS=smtp.seudominio.com.br
SMTP_PORT=587
SMTP_USERNAME=noreply@seudominio.com.br
SMTP_PASSWORD=sua_senha_smtp
SMTP_AUTHENTICATION=plain
SMTP_ENABLE_STARTTLS_AUTO=true

# Após alterar variáveis, recriar os containers
docker compose down
docker compose up -d

Configuração com Gmail (App Password)

Para usar Gmail como SMTP, é necessário criar uma App Password (senha de aplicativo), a senha normal não funciona com SMTP quando 2FA está ativo:

bash
# No Gmail: conta Google → Segurança → Senhas de app → Criar
# Escolher: App "Outro (nome personalizado)" → Chatwoot

# Variáveis para Gmail
MAILER_SENDER_EMAIL=seuemail@gmail.com
SMTP_DOMAIN=gmail.com
SMTP_ADDRESS=smtp.gmail.com
SMTP_PORT=587
SMTP_USERNAME=seuemail@gmail.com
SMTP_PASSWORD=xxxx_xxxx_xxxx_xxxx   # App Password de 16 caracteres
SMTP_AUTHENTICATION=plain
SMTP_ENABLE_STARTTLS_AUTO=true

Configuração com SendGrid

SendGrid é o provedor recomendado para produção, tem 100 e-mails/dia gratuitos e API confiável:

bash
# Criar conta no SendGrid, verificar domínio remetente e gerar API Key

MAILER_SENDER_EMAIL=noreply@seudominio.com.br
SMTP_DOMAIN=seudominio.com.br
SMTP_ADDRESS=smtp.sendgrid.net
SMTP_PORT=587
SMTP_USERNAME=apikey
SMTP_PASSWORD=SG.xxxxxxxxxxxxxxxxxxxxxxxxx   # sua API Key do SendGrid
SMTP_AUTHENTICATION=plain
SMTP_ENABLE_STARTTLS_AUTO=true

Testar o envio de e-mail

Após configurar e recriar os containers, teste o envio diretamente pelo console Rails:

ruby
# Acessar o console Rails
docker compose exec rails bundle exec rails c

# Testar envio de e-mail
ActionMailer::Base.mail(
  to: 'seu@email.com',
  subject: 'Teste SMTP Chatwoot',
  body: 'Se chegou, o SMTP está funcionando!'
).deliver_now

Habilitar canal de e-mail (resposta por e-mail)

Além de notificações, o Chatwoot pode receber e-mails de clientes como conversas. Configure o canal de e-mail no painel:

bash
# No Chatwoot:
# Settings → Inboxes → Add Inbox → Email
# Preencha:
#   Channel Name: Suporte por E-mail
#   Email: suporte@seudominio.com.br (endereço de entrada)

# O Chatwoot gera um endereço de encaminhamento único:
#   ex: chatwoot-abc123@mail.chatwoot.com

# Configure o seu servidor de e-mail para encaminhar
# suporte@seudominio.com.br → chatwoot-abc123@mail.chatwoot.com

# Teste enviando um e-mail para suporte@seudominio.com.br
# Deve aparecer como nova conversa no Chatwoot

Não quer configurar manualmente?

Implante o Chatwoot em menos de 5 minutos com a Runstack. Infraestrutura da OPEN Datacenter, com servidores em São Paulo.

Perguntas frequentes

Sim, e é o recomendado. Configure o SPF, DKIM e DMARC no DNS do domínio para melhorar a entregabilidade. Provedores como SendGrid e AWS SES guiam o processo de verificação de domínio com as entradas DNS necessárias.

Principais causas: remetente sem SPF/DKIM configurado, IP da VPS com reputação ruim, ou domínio recém-criado. Soluções: use um provedor SMTP dedicado (SendGrid, SES) em vez do servidor da VPS, configure SPF/DKIM, e aqueça o domínio gradualmente.

Cada agente controla suas próprias notificações em Profile → Notifications. As notificações disponíveis incluem: nova conversa, conversa atribuída, nova mensagem, menção. O SMTP precisa estar funcionando para qualquer notificação ser entregue.

Os templates de e-mail do Chatwoot são customizáveis via variáveis de ambiente (logo, cores, nome da empresa). Para customização completa de templates HTML, é necessário modificar os arquivos de view do Rails na imagem Docker, mais avançado e requer rebuild da imagem.

Porta 587 usa STARTTLS (upgrada uma conexão não-criptografada para TLS), é o padrão moderno e compatível com a maioria dos provedores. Porta 465 usa SSL/TLS direto (mais antigo). Se o seu provedor suportar ambas, use 587 com SMTP_ENABLE_STARTTLS_AUTO=true. Use 465 apenas se o provedor exigir.