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.
Figura 1: Nó SMTP — host, porta, TLS, credenciais e campos da mensagem
O que faz
A cada execução, o motor do workflow:
- Resolve todos os placeholders
{{variavel}}nos campos SMTP e da mensagem - Abre conexão TCP dos servidores da WhatsWave até o host SMTP (exige conectividade de saída do service)
- Autentica quando usuário e/ou senha são informados
- Envia a mensagem com De, Para, assunto e corpo configurados
- Retorna metadados de entrega para os nós seguintes
| Propriedade | Valor |
|---|---|
| ID do tipo de nó | smtp_send |
| Rótulo na paleta | SMTP |
| Executor | smtp_send |
| Timeout de conexão | 30 segundos |
| Timeout de greeting | 30 segundos |
| Anexos | Não suportados neste nó |
Pré-requisitos
- Dados do servidor SMTP do provedor de e-mail ou da equipe de TI: host, porta, modo TLS e credenciais
- SMTP de saída permitido — o service da WhatsWave precisa alcançar seu host na porta configurada (587, 465 ou 25)
- Endereço de remetente válido —
mail_fromdeve ser um endereço que o servidor está autorizado a enviar (alinhamento SPF/DKIM é responsabilidade do provedor)
Como configurar
Passo 1 — Adicionar o nó
- Abra Automações e edite seu workflow
- Na paleta, abra a categoria Ferramentas
- Arraste SMTP para o canvas
- Conecte após nós que preparam dados do destinatário, corpo HTML ou credenciais
Passo 2 — Conexão com o servidor
| Campo | Obrigatório | Descrição |
|---|---|---|
Host SMTP (smtp_host) | Sim | Hostname SMTP, ex.: smtp.office365.com, mail.seudominio.com.br |
Porta (smtp_port) | Não | Padrão 587. Valores comuns: 587 (STARTTLS), 465 (SSL implícito), 25 (legado) |
Conexão (smtp_secure) | Não | STARTTLS (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ão | Usuário SMTP; deixe vazio se o servidor permitir relay sem autenticação (raro em produção) |
Senha (smtp_password) | Não | Senha SMTP ou senha de app — use {{variables.smtp_password}} em vez de texto puro |
Guia rápido de TLS:
| Padrão do provedor | Porta | Configuração de conexão |
|---|---|---|
| STARTTLS (recomendado) | 587 | STARTTLS (false) |
| SSL implícito | 465 | SSL/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
| Campo | Obrigatório | Descrição |
|---|---|---|
De (mail_from) | Sim | Nome e endereço do remetente, ex.: Suporte <suporte@empresa.com> ou noreply@empresa.com |
Para (mail_to) | Sim | Um ou mais destinatários, separados por vírgula: a@b.com, b@c.com |
Assunto (mail_subject) | Não | Assunto do e-mail; padrão (sem assunto) se vazio |
Corpo (texto) (mail_text) | Não | Corpo em texto puro |
Corpo (HTML) (mail_html) | Não | Corpo 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ída | Tipo | Descrição |
|---|---|---|
message_id | string | Message-ID atribuído pelo servidor de e-mail |
accepted | array | Endereços aceitos para entrega |
rejected | array | Endereços rejeitados pelo servidor |
response | string | Resposta 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
secureincompatí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:
- Variável — normaliza
customer_email,order_id,total - 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}}
- 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:
- Condição — contagem de erros
> 0 - SMTP
- Para:
ops@empresa.com - Assunto:
[WhatsWave] {{variables.failed_count}} falhas hoje - Corpo (texto):
{{variables.alert_body}}
- Para:
Exemplo 3 — Lista dinâmica de destinatários
Trigger: Webhook — array de aprovadores.
Preparação: nó 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