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
    Dica
    Gmail tem limite de 500 e-mails/dia. Para volumes maiores use SendGrid (100/dia grátis) ou AWS SES (0,10 USD por 1000 e-mails).

    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
    Dica
    Outra forma de testar: peça um reset de senha pelo painel de login do Chatwoot (/auth/sign_in → Forgot Password). Se o e-mail chegar, o SMTP está configurado corretamente.

    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

    $ runstack deploy --plan starter

    Não quer configurar manualmente?

    Não quer configurar manualmente? Implante o Chatwoot em menos de 3 minutos com a Runstack. Infraestrutura da OPEN DATACENTER, com servidores no Brasil.

    Perguntas frequentes