O Jotform é uma forma rápida de colocar um formulário na frente das pessoas e coletar os endereços de e-mail delas — e, como todo construtor de formulários, é melhor em capturar endereços do que em dizer quais são reais. Seu campo de e-mail confirma que um endereço parece certo; ele não consegue confirmar que a caixa de correio existe, que não é descartável ou que não vai causar um hard bounce na sua primeira resposta. Este guia mostra duas maneiras práticas de verificar e-mails do Jotform com o Qualisend: em tempo real, com um webhook que dispara no instante em que um envio chega, e em massa, exportando seus envios para uma planilha. Nenhuma delas precisa de um plugin nativo — ainda não existe um — apenas os webhooks integrados do Jotform ou o botão de exportação.
A resposta curta#
Escolha o caminho que combina com o momento em que você precisa da resposta:
- Tempo real — aponte um webhook do Jotform para uma pequena função serverless. A cada envio, o Jotform faz um POST dos dados do formulário para o seu endpoint; a função lê o e-mail, chama a API do Qualisend e age conforme o veredito — marca o contato, encaminha para a lista certa ou segura o e-mail de boas-vindas para um endereço ruim.
- Em massa — exporte seus envios existentes para CSV ou Excel, passe-os pela verificação em massa do Qualisend e suprima os não entregáveis antes do seu próximo envio.
Por que o campo de e-mail do Jotform não é suficiente#
O tipo de pergunta de e-mail do Jotform faz uma verificação de formato no
navegador — ele garante que há um @, um domínio e nenhum erro de digitação
óbvio. Essa é a mesma classe de verificação que uma regex faz, e ela falha pelos
mesmos motivos:
formato não é entregabilidade.
jane@gmial.com passa na verificação de formato. test@mailinator.com também, e
um endereço com cara de real em um domínio que silenciosamente ficou inativo no
ano passado também.
Nenhum desses é pego até você enviar — e aí um endereço morto é um hard bounce que corrói a sua taxa de rejeição e a reputação de remetente. A verificação de verdade adiciona as camadas que o Jotform não consegue: uma consulta de DNS/MX e uma sondagem SMTP da caixa de correio, além de sinalizações para endereços descartáveis, de função (role) e catch-all. Se essa pipeline é novidade para você, o que a verificação de e-mail realmente checa é o guia introdutório.
Duas maneiras de verificar e-mails do Jotform#
A restrição importante primeiro: o Jotform não consegue bloquear de forma confiável um e-mail ruim no meio do formulário. Não há uma maneira suportada, em nenhum plano, de chamar uma API externa entre os campos e impedir que alguém envie, então a verificação em tempo real roda logo após o envio, em um webhook — não como um portão inline. Isso molda os dois caminhos.
| Caminho | Quando roda | Melhor para |
|---|---|---|
| Webhook em tempo real | Instantaneamente, a cada envio | Funis ao vivo — marcar, encaminhar ou segurar o follow-up antes de ele ser enviado |
| Exportação em massa | Sob demanda, em lotes | Acúmulos de envios existentes e higiene periódica de listas |
Caminho 1: tempo real com um webhook do Jotform#
O Jotform pode enviar cada envio para uma URL que você controla. Abra seu formulário e vá em Settings → Integrations, procure por Webhooks e cole a URL do seu endpoint. Ao contrário de algumas ferramentas de formulário que restringem os webhooks aos seus planos mais altos, a integração de Webhooks do Jotform está disponível amplamente, inclusive no plano gratuito — o que é limitado por plano é a sua contagem mensal de envios, não o acesso ao webhook em si.
Uma peculiaridade específica do Jotform molda o código: o Jotform não faz POST de
JSON limpo. Ele envia o envio como campos codificados em formato de formulário
(form-encoded), onde cada resposta recebe o nome da sua pergunta — um campo de
e-mail geralmente chega como algo do tipo q3_email. Há também um campo
rawRequest que guarda uma string JSON de todo o envio, caso você prefira
analisar isso. De todo modo, seu endpoint lê o corpo do formulário, não o
req.json().
Seu endpoint é uma função serverless que guarda a chave de API e transforma o veredito em uma ação. O padrão é o mesmo do guia de verificação no cadastro: a chave fica no servidor, e você age conforme o resultado. Aqui está ele como um Route Handler do Next.js (confira a documentação para desenvolvedores para o caminho exato do endpoint e o formato da requisição):
// app/api/jotform-webhook/route.ts
import { NextResponse } from "next/server";
// Placeholder — confirm the real path in /developers.
const QUALISEND_ENDPOINT = "https://api.qualisend.com/v1/verify";
export async function POST(req: Request) {
// Jotform POSTs form-encoded fields, not JSON.
const form = await req.formData();
// Jotform names email fields like q3_email — check yours in the builder.
const email = form.get("q3_email")?.toString();
if (!email) return NextResponse.json({ ok: true }); // nothing to verify
const res = await fetch(QUALISEND_ENDPOINT, {
method: "POST",
headers: {
// Store YOUR_API_KEY server-side, never in the browser.
Authorization: `Bearer ${process.env.QUALISEND_API_KEY!}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ email }),
signal: AbortSignal.timeout(4000),
});
if (!res.ok) return NextResponse.json({ ok: true, degraded: true }); // fail open
const { result } = await res.json();
// The submission already landed — route on the verdict instead of blocking.
if (result.status === "undeliverable" || result.sub_flags?.disposable) {
// Skip the welcome email, tag the contact for review, keep it off the main list.
}
return NextResponse.json({ ok: true, status: result.status });
}
Três coisas tornam isso robusto. Responda rápido: o Jotform espera um 2xx
rapidamente, então mantenha o handler enxuto e responda sem demora. Falhe aberto
(fail open): se a API der timeout ou erro, não perca o lead — aceite-o e recheque
depois, e é por isso que o ramo !res.ok ainda retorna ok: true. E proteja o
endpoint: o Jotform não assina seus webhooks com um segredo compartilhado como
algumas ferramentas fazem, então proteja a URL de outra maneira — mantenha-a
impossível de adivinhar e rejeite qualquer coisa cujo formID não corresponda ao
formulário que você espera antes de gastar um crédito de verificação.
Se o seu formulário tem mais de uma pergunta de e-mail, não pegue simplesmente a
primeira que encontrar — leia o nome específico do campo (q7_email,
q12_workEmail, seja lá o que o builder atribuiu) para que o endereço certo seja
sempre o que você verifica. Você pode ver o nome de cada campo no builder do Jotform
ou inspecionando o payload de um envio de teste uma vez.
Downstream, o veredito é apenas uma ramificação. Um resultado deliverable flui
direto para o seu CRM ou ferramenta de e-mail; um undeliverable ou disposable
é marcado, segurado da sequência de boas-vindas ou jogado em uma fila de revisão —
o que o seu processo precisar. O webhook é o encanamento; o roteamento é seu.
A lógica de verificação em si é agnóstica de linguagem; a mesma chamada funciona a partir de uma função em Python ou PHP, se essa for a sua stack, e a mesma abordagem de webhook se aplica a qualquer ferramenta de formulário — veja verificar e-mails do Typeform para uma configuração quase idêntica, em que a única diferença real é como o payload é analisado. Só esse passo de análise é específico do Jotform; a metade de verificar-e-encaminhar é a mesma em todo lugar.
Caminho 2: verificar em massa uma exportação CSV ou Excel#
Se você já tem uma pilha de envios, ou prefere limpar em uma programação a montar um webhook, vá em lotes. No Jotform, abra a tabela de Submissions do seu formulário (ou Reports → Excel/CSV) e baixe os dados. Você vai obter uma linha por envio, com o e-mail em sua própria coluna.
Depois:
- Faça o upload do arquivo para a verificação em massa do Qualisend e deixe-a rodar a pipeline completa — MX, SMTP e as sinalizações de descartável/função (role)/catch-all — em cada linha.
- Baixe o arquivo anotado. Cada endereço volta com um
status, um código dereasone umscorede 0 a 100. - Suprima os não entregáveis na ferramenta a partir da qual você realmente envia e-mails, e trate as linhas arriscadas com cuidado. A rotina de ponta a ponta, incluindo onde cada status pertence, está em como limpar uma lista de e-mails.
O modo em massa é a ferramenta certa para um acúmulo, mas é limpeza, não prevenção: um endereço que você pega aqui normalmente já vinha ocupando lugar na sua lista. Combine uma passagem em massa periódica com o webhook em tempo real para que os novos endereços ruins sejam sinalizados no momento em que chegam.
Agindo conforme o veredito#
Seja qual for o caminho que entrega o resultado, o formato é o mesmo — um status,
um reason, um score e as sub_flags. Mapeie cada um para uma ação:
| Resultado | O que fazer |
|---|---|
deliverable | Aceite — adicione à sua lista e envie normalmente. |
undeliverable | Suprima. Não envie; confira o reason para ver se é
um domínio ruim ou uma caixa de correio morta. |
sinalização disposable | Rejeite ou marque, dependendo de quão rígido é o seu funil — veja endereços de função, descartáveis & gratuitos. |
risky / catch-all | Aceite, mas segmente. Um domínio catch-all aceita todo endereço na camada MX, então não consegue confirmar a caixa de correio individual — envie com cautela. |
unknown | Aceite e recheque depois — a infraestrutura não respondeu, então nunca descarte um lead real por isso. |
Perguntas frequentes#
O Jotform consegue verificar endereços de e-mail sozinho?#
Apenas o formato. O campo de e-mail do Jotform confirma que um endereço está bem
formado — tem um @ e um domínio —, mas não resolve registros MX nem sonda a caixa
de correio, então um endereço com erro de digitação ou descartável que parece válido
ainda passa. A verificação de verdade precisa das camadas de DNS e SMTP que um
serviço como o Qualisend adiciona por cima, que é o que transforma o "parece válido"
em "realmente vai ser entregue".
Preciso de um plano pago do Jotform para verificar e-mails em tempo real?#
Não necessariamente. A integração de Webhooks do Jotform está disponível em todos os planos, incluindo o gratuito, então você pode montar o caminho em tempo real sem fazer upgrade — o que muda de plano para plano é a sua cota mensal de envios, não o acesso aos webhooks. Se preferir não manter um endpoint no ar, use o caminho em massa: exporte os envios em CSV ou Excel e verifique-os em lotes em qualquer plano que permita baixar os resultados.
Consigo bloquear um e-mail ruim antes de o usuário terminar o formulário?#
Não de forma confiável. O Jotform não tem uma maneira suportada, em nenhum plano, de chamar uma API externa no meio do formulário e impedir que alguém envie, então a verificação em tempo real roda logo após o envio, no webhook. Na prática, tudo bem: você verifica em segundos e age antes de o endereço receber qualquer mensagem — você segura o e-mail de boas-vindas, marca o contato ou o encaminha para revisão, em vez de bloquear o formulário em si.
Devo usar o webhook em tempo real ou a exportação em massa?#
Use o webhook quando o timing importa — você quer saudar, encaminhar ou suprimir a cada envio conforme as entradas chegam. Use o modo em massa quando estiver limpando um acúmulo ou fazendo uma higiene periódica. A maioria das equipes faz os dois: o webhook mantém os novos envios limpos, e uma passagem em massa ocasional pega qualquer coisa que escapou ou envelheceu desde que foi coletada.
Pronto para montar isso? Pegue uma chave com escopo e o formato exato da requisição em a documentação para desenvolvedores, faça um teste rápido de um único endereço em o verificador de e-mail gratuito ou comece com os 100 créditos gratuitos de todos os planos para testar o fluxo de ponta a ponta.