Automações

Envia e-mail via configuração de servidor SMTP personalizado.

Nó SMTP

O nó SMTP (smtp_send) envia e-mail por qualquer servidor SMTP padrão usando Nodemailer na infraestrutura da WhatsWave. Use-o quando você tem seu próprio relay de e-mail (cPanel, Postfix, SMTP do Microsoft 365, endpoint SMTP do Amazon SES, etc.) e não usa os nós Gmail ou Resend da paleta.

Disponível na paleta Ferramentas em Automações.

Workflows > editor > configuração do nó SMTP Figura 1: Nó SMTP — host, porta, TLS, credenciais e campos da mensagem

O que faz

A cada execução, o motor do workflow:

  1. Resolve todos os placeholders {{variavel}} nos campos SMTP e da mensagem
  2. Abre conexão TCP dos servidores da WhatsWave até o host SMTP (exige conectividade de saída do service)
  3. Autentica quando usuário e/ou senha são informados
  4. Envia a mensagem com De, Para, assunto e corpo configurados
  5. Retorna metadados de entrega para os nós seguintes
PropriedadeValor
ID do tipo de nósmtp_send
Rótulo na paletaSMTP
Executorsmtp_send
Timeout de conexão30 segundos
Timeout de greeting30 segundos
AnexosNão suportados neste nó

Pré-requisitos

  1. Dados do servidor SMTP do provedor de e-mail ou da equipe de TI: host, porta, modo TLS e credenciais
  2. SMTP de saída permitido — o service da WhatsWave precisa alcançar seu host na porta configurada (587, 465 ou 25)
  3. Endereço de remetente válidomail_from deve ser um endereço que o servidor está autorizado a enviar (alinhamento SPF/DKIM é responsabilidade do provedor)

Como configurar

Passo 1 — Adicionar o nó

  1. Abra Automações e edite seu workflow
  2. Na paleta, abra a categoria Ferramentas
  3. Arraste SMTP para o canvas
  4. Conecte após nós que preparam dados do destinatário, corpo HTML ou credenciais

Passo 2 — Conexão com o servidor

CampoObrigatórioDescrição
Host SMTP (smtp_host)SimHostname SMTP, ex.: smtp.office365.com, mail.seudominio.com.br
Porta (smtp_port)NãoPadrão 587. Valores comuns: 587 (STARTTLS), 465 (SSL implícito), 25 (legado)
Conexão (smtp_secure)NãoSTARTTLS (ex.: porta 587)false; SSL/TLS implícito (ex.: porta 465)true. Porta 465 também força modo seguro.
Usuário (smtp_user)NãoUsuário SMTP; deixe vazio se o servidor permitir relay sem autenticação (raro em produção)
Senha (smtp_password)NãoSenha SMTP ou senha de app — use {{variables.smtp_password}} em vez de texto puro

Guia rápido de TLS:

Padrão do provedorPortaConfiguração de conexão
STARTTLS (recomendado)587STARTTLS (false)
SSL implícito465SSL/TLS (true)

Todos os campos de conexão aceitam variáveis:

Host: {{variables.smtp_host}}
Senha: {{smtp_relay_password}}

Armazene segredos em Configurações → Chaves de API ou variáveis do escopo do workflow.

Passo 3 — Cabeçalhos e corpo da mensagem

CampoObrigatórioDescrição
De (mail_from)SimNome e endereço do remetente, ex.: Suporte <suporte@empresa.com> ou noreply@empresa.com
Para (mail_to)SimUm ou mais destinatários, separados por vírgula: a@b.com, b@c.com
Assunto (mail_subject)NãoAssunto do e-mail; padrão (sem assunto) se vazio
Corpo (texto) (mail_text)NãoCorpo em texto puro
Corpo (HTML) (mail_html)NãoCorpo HTML (campo com editor rico). Se texto e HTML estiverem preenchidos, os clientes recebem mensagem multipart.

Exemplo com variáveis:

Para: {{variables.customer_email}}
Assunto: Pedido {{variables.order_id}} confirmado
Corpo (HTML): <p>Olá {{variables.customer_name}},</p><p>Seu pedido foi confirmado.</p>

Se HTML e texto puro estiverem vazios, o motor envia corpo de texto puro vazio.

Campos de saída

Após envio bem-sucedido, referencie estes campos (substitua smtp_1 pelo ID do seu nó):

SaídaTipoDescrição
message_idstringMessage-ID atribuído pelo servidor de e-mail
acceptedarrayEndereços aceitos para entrega
rejectedarrayEndereços rejeitados pelo servidor
responsestringResposta bruta do servidor SMTP

Exemplo de uso nos passos seguintes:

{{smtp_1.message_id}}
{{smtp_1.accepted[0]}}

Se o servidor rejeitar destinatários, verifique rejected no histórico de execução ou ramifique com um nó Condição.

Dicas e boas práticas

  • Prefira Gmail ou Resend quando essas integrações já cobrem seu caso — elas tratam OAuth/auth de API e particularidades do provedor.
  • Use variáveis do workflow para senhas — nunca inclua credenciais SMTP em JSON de workflow exportado compartilhado entre equipes.
  • Teste com um único destinatário antes de envios em massa com lista separada por vírgula.
  • Combine modo TLS com a porta — porta/modo secure incompatíveis são a causa mais comum de falha de conexão.
  • Defina HTML e texto para melhor entregabilidade em conteúdo de marketing; alguns clientes preferem texto puro.
  • Respeite limites de taxa do provedor SMTP — combine com nós Delay em loops ao enviar muitos e-mails.
  • Monitore bounces fora do workflow — este nó confirma aceitação SMTP, não entrega definitiva na caixa de entrada.

Exemplos de uso

Exemplo 1 — E-mail de confirmação de pedido

Trigger: Webhook — pedido de e-commerce pago.

Fluxo:

  1. Variável — normaliza customer_email, order_id, total
  2. SMTP
    • Host / porta / credenciais das variáveis
    • De: Loja <pedidos@minhaloja.com>
    • Para: {{variables.customer_email}}
    • Assunto: Pedido #{{variables.order_id}} confirmado
    • HTML: template de resumo do pedido com {{variables.total}}
  3. WhatsWave Send — mensagem no WhatsApp: "Também enviamos a confirmação para seu e-mail."

Exemplo 2 — Alerta interno em falha de workflow

Trigger: Manual ou Schedule — nó de relatório diário define alert_body.

Fluxo:

  1. Condição — contagem de erros > 0
  2. SMTP
    • Para: ops@empresa.com
    • Assunto: [WhatsWave] {{variables.failed_count}} falhas hoje
    • Corpo (texto): {{variables.alert_body}}

Exemplo 3 — Lista dinâmica de destinatários

Trigger: Webhook — array de aprovadores.

Preparação:JavaScript retorna { emails: "a@x.com, b@x.com" }.

SMTP:

Para: {{js_1.result.emails}}

FAQ

O nó SMTP suporta anexos?

Não. O executor atual envia apenas texto e HTML. Para anexos, use nós Gmail/Resend ou integração HTTP com a API REST do provedor.

Por que a execução falha com "host é obrigatório"?

smtp_host ficou vazio após substituição de variáveis. Verifique se a variável existe e está escrita corretamente.

Por que a conexão expira (timeout)?

Causas comuns: host/porta incorretos, firewall bloqueando saída da WhatsWave ou provedor exigindo allowlist de IP. Confirme que o servidor SMTP aceita conexões da infraestrutura da WhatsWave.

Posso enviar para vários destinatários?

Sim — endereços separados por vírgula em Para. Todos veem a mesma lista Para, a menos que o provedor suporte BCC por outro mecanismo (não exposto neste nó).

STARTTLS é o mesmo que "secure = false"?

Sim. smtp_secure = false usa STARTTLS na porta 587 (upgrade após conectar). smtp_secure = true usa TLS implícito (típico na porta 465).

E se a autenticação falhar?

Verifique usuário, senha e se o provedor exige senha específica de app (comum no Microsoft 365 e no relay SMTP do Google Workspace).

O teste isolado do nó funciona?

Sim. Informe valores resolvidos ou variáveis mock no diálogo de teste. O motor faz envio SMTP real — use uma caixa de teste.

Artigos relacionados

Este artigo foi útil?

Precisa de mais ajuda? Falar com suporte

Central de Ajuda