# Responda aos envios de formulário direto da sua caixa de entrada

> Faça o Reply de uma notificação de formulário responder a quem preencheu: quais nomes de campo funcionam, quando usar _replyto e por que as respostas se perdem.

Publicado em 2026-10-25 · https://ikiform.com/pt-br/guides/send-form-to-email/reply-to

Dê ao campo de e-mail do formulário o nome `email` e o Ikiform coloca esse endereço no header reply-to da notificação, então o **Reply** responde ao visitante a partir da sua própria caixa. Se o campo tem outro nome, ou se o formulário pede dois endereços, adicione um campo `_replyto` com o endereço certo. Sem nenhum dos dois, as respostas vão para `notifications@ikiform.com`, que ninguém lê.

## O que muda aqui

Um e-mail de notificação tem dois endereços que importam. **From** é quem enviou, e para a entregabilidade isso tem que ser o Ikiform. **Reply-To** é para onde vão as respostas, e esse deve ser o visitante. Os apps de e-mail usam o Reply-To quando ele existe e voltam para o From quando não existe. Então o trabalho todo é garantir que o Ikiform encontre o endereço do visitante no envio.

O Ikiform define o endereço de reply-to primeiro a partir de um campo `_replyto`, depois a partir de um campo chamado `email`, `email_address`, `your_email`, `reply_to`, `contact_email`. O valor precisa ser um único endereço de e-mail válido, ou é ignorado.

Diagrama: Como o Ikiform escolhe o endereço de reply-to

1. Se o envio tem um campo _replyto com um único endereço de e-mail válido, esse é o reply-to. Ele vence todos os outros campos.
2. Se não tem, o Ikiform olha os campos na ordem em que foram enviados e pega o primeiro com um nome reconhecido e um endereço válido.
3. Se nenhum dos dois existe, o e-mail não tem header Reply-To, e clicar em Reply responde para notifications@ikiform.com.

Um valor com vírgula, quebra de linha ou sinais de menor e maior é ignorado, então ninguém consegue adicionar um segundo endereço ou um header.

## Nomes de campo que funcionam

A comparação ignora maiúsculas e minúsculas, então `Email` e `EMAIL` funcionam tanto quanto `email`. Veja como se saem os nomes mais comuns:

| Nome do campo | Usado como reply-to? | Por quê |
| --- | --- | --- |
| `email`, `Email`, `e-mail` | Sim | O nome simples, em qualquer caixa, com ou sem hífen |
| `email_address`, `email-address`, `emailAddress` | Sim | A forma longa, com `_`, `-` ou nada entre as palavras |
| `your_email`, `contact_email`, `reply_to` | Sim | Nomes comuns de modelos de formulário |
| `user_email`, `work_email` | Não | O prefixo não é um que o Ikiform conheça. Renomeie ou adicione `_replyto` |
| `Email Address` | Não | Espaço não é separador. Criadores de sites que usam os rótulos como nomes costumam gerar isso |
| `Email 2` | Não | Criadores de sites numeram assim um segundo campo de e-mail |

## Três formas de definir

O formulário abaixo é um pedido de demonstração, em que o endereço é um e-mail de trabalho e pode ficar ao lado de um segundo endereço. Escolha a versão que combina com o quanto você pode mudar:

**Renomeie o campo** (`demo.html`)

```html
<form action="https://ikiform.com/f/frm_xxxxxxxxxxxxxxxx" method="post">
  <label for="work-email">Work email</label>
  <input id="work-email" name="email" type="email" autocomplete="work email" required />

  <label for="company">Company</label>
  <input id="company" name="company" autocomplete="organization" />

  <label for="message">What are you trying to solve?</label>
  <textarea id="message" name="message" rows="5" required></textarea>

  <input name="_gotcha" type="text" tabindex="-1" autocomplete="off" hidden />
  <button>Request a call</button>
</form>
```

**Copie para _replyto** (`demo.html`)

```html
<form id="demo" action="https://ikiform.com/f/frm_xxxxxxxxxxxxxxxx" method="post">
  <label for="work-email">Work email</label>
  <input id="work-email" name="work_email" type="email" required />

  <label for="referrer-email">Who referred you? (their email)</label>
  <input id="referrer-email" name="referrer_email" type="email" />

  <input type="hidden" name="_replyto" />
  <button>Request a call</button>
</form>

<script>
  const demo = document.getElementById("demo");
  demo.addEventListener("submit", () => {
    demo.elements.namedItem("_replyto").value = demo.elements.namedItem("work_email").value.trim();
  });
</script>
```

**A partir do seu servidor** (`send.ts`)

```ts
const origin = request.headers.get("origin");
const response = await fetch("https://ikiform.com/f/frm_xxxxxxxxxxxxxxxx", {
  method: "POST",
  headers: {
    Accept: "application/json",
    "Content-Type": "application/json",
    Authorization: `Bearer ${process.env.IKIFORM_SECRET_KEY}`,
    ...(origin ? { Origin: origin } : {}),
  },
  body: JSON.stringify({
    work_email: values.workEmail,
    referrer_email: values.referrerEmail,
    company: values.company,
    message: values.message,
    _replyto: values.workEmail,
    _gotcha: values.honeypot,
  }),
});
```

- **Renomeie** quando você controla o HTML. O rótulo pode continuar dizendo "E-mail de trabalho"; só o `name` importa, e `autocomplete="work email"` mantém o preenchimento automático do navegador certo.
- **Copie para `_replyto`** quando outro sistema espera `work_email`, ou quando o formulário tem dois endereços e o errado seria escolhido. O script preenche o campo oculto no momento do envio, antes de o navegador enviá-lo.
- **A partir do seu servidor**, adicione `_replyto` ao corpo JSON. Ele nem precisa ser um campo do formulário. O `Origin` da requisição recebida é repassado porque o `fetch` do próprio servidor não envia nenhum, e o Ikiform usa esse header para contar os testes gratuitos de `localhost`.

Campos que começam com `_` não são armazenados como respostas, então `_replyto` não aparece duas vezes no e-mail. Ele fica no envio como `meta.reply_to`, que os webhooks e a [API REST](https://ikiform.com/pt-br/docs/api.md) incluem.

> Se o script que copia não rodar, `_replyto` é enviado vazio e o Ikiform o ignora. `work_email` não é um nome reconhecido, então esse envio fica sem reply-to. Renomeie o campo quando puder; isso não tem como falhar.

## A quem você está respondendo

O reply-to é o que o visitante digitou. O Ikiform confere se é um único endereço bem formado, não se ele pertence à pessoa. Um bot, ou alguém de brincadeira, pode digitar o endereço de outra pessoa, e sua resposta vai parar com um desconhecido.

- Mantenha a primeira resposta genérica. Não envie dados de conta, faturas nem nada privado até a pessoa ter respondido a partir daquele endereço.
- Um endereço num domínio descartável soma 2 à pontuação de spam. Junto com outro sinal, como uma repetição idêntica, isso basta para manter o envio fora da sua caixa de entrada.
- Se o endereço devolver o e-mail, era um erro de digitação ou um endereço falso. O envio continua no painel se você precisar do resto.

## O que o visitante vê na sua resposta

A maioria dos apps de e-mail cita a mensagem que você está respondendo. Aqui ela é a notificação do Ikiform, então o visitante vê as próprias respostas em forma de lista, mais o rodapé da notificação. Normalmente isso não é problema, e lembra a pessoa do que ela perguntou. Duas coisas merecem uma olhada antes de clicar em **Send**:

- O rodapé tem links feitos para você: **View submission** para membros, um link para cancelar a inscrição para destinatários de fora e um endereço para denunciar abuso. O link do painel só funciona para quem está logado no seu workspace, mas apague a citação se preferir não enviá-lo.
- Se várias pessoas recebem a notificação, cada resposta abre uma conversa separada com o visitante. Combinem quem responde, ou o visitante recebe duas respostas diferentes.

Quer uma resposta que nunca mostra a notificação? Comece um e-mail novo para o endereço em vez de clicar em **Reply**. Você perde a pergunta citada, então copie a frase que está respondendo.

## Confira se funciona

1. Preencha o formulário na sua página e envie. Você cai na sua página de agradecimento, ou na hospedada pelo Ikiform.
2. Abra a notificação e olhe os headers ou a linha de resposta. **Reply-To** mostra o endereço que você digitou.
3. Clique em **Reply**. A linha **To** traz o endereço do visitante e a linha **From** é a sua.
4. Envie de novo com um endereço malformado em `_replyto`, como `a@b.c, x@y.z`. O e-mail chega com o próximo campo válido como reply-to, ou sem nenhum.

## Pegadinhas

- **Os resumos não têm reply-to.** Passando de 50 e-mails por hora, o formulário envia um único resumo com o resto, e ele cobre muitos visitantes. Responda a esses pelo painel.
- **Responder a todos.** A notificação vai para cada destinatário separadamente, então Responder a todos só adiciona o seu próprio endereço. Ela não copia sua equipe.
- **Regras de resposta do Outlook.** Algumas configurações de e-mail corporativo reescrevem ou ignoram o Reply-To em e-mails externos. Se o **Reply** ainda mostrar o endereço do Ikiform, fale com quem administra o seu servidor de e-mail.
- **Spam não envia nada.** Um envio armazenado como spam não tem e-mail para responder. Marque-o como não spam e o e-mail dele é enviado na hora.
- **Dois endereços num campo.** Um valor como `ada@example.com, bob@example.com` é ignorado como reply-to, porque uma vírgula poderia contrabandear destinatários extras. Peça um endereço por campo.
- **Criadores de sites que não deixam nomear um input oculto.** Alguns criadores de sites não deixam você chamar um campo de `_replyto`. Renomeie o campo de e-mail visível para `email`; ele faz o mesmo trabalho.

## Perguntas

### O reply-to funciona quando envio JSON pelo meu servidor?

Sim. O Ikiform lê o _replyto e os campos com nome de e-mail do mesmo jeito em envios JSON, urlencoded e multipart. Adicione _replyto ao corpo JSON quando o campo de endereço tiver outro nome.

### Por que o Reply vai para notifications@ikiform.com?

O envio não tinha um campo _replyto nem um campo com nome de e-mail reconhecido. Dê ao campo de e-mail o nome email, email_address, your_email, reply_to, contact_email, ou adicione _replyto.

### O que é o campo _replyto?

Um campo reservado que define o endereço de reply-to dos e-mails de notificação. Ele precisa conter um único endereço de e-mail válido, não é armazenado como resposta e é repassado aos webhooks e à API como meta.reply_to.

### Meu formulário tem dois campos de e-mail. Qual deles é usado?

O _replyto, se você o enviar. Caso contrário, o primeiro campo, na ordem de envio, cujo nome é reconhecido e cujo valor é um endereço válido. Envie _replyto para deixar a escolha explícita.

### Posso mudar o endereço From para o meu próprio domínio?

Não. As notificações são enviadas de notifications@ikiform.com, e é isso que as faz passar nas verificações de spam sem configuração de DNS do seu lado. Sua resposta sai do seu próprio endereço, porque você a envia da sua caixa.

## Mais guias

- [Receber um formulário no e-mail](https://ikiform.com/pt-br/guides/send-form-to-email.md): Receba todo envio de formulário na caixa de entrada sem servidor de e-mail: por que mailto: e mail() do PHP falham, e uma configuração que filtra spam e permite responder.
- [Para o Gmail](https://ikiform.com/pt-br/guides/send-form-to-email/gmail.md): Receba os envios de formulário no Gmail sem links mailto:, senhas de app ou Apps Script, e depois rotule, tire do spam e responda pelo Gmail.
- [Vários destinatários](https://ikiform.com/pt-br/guides/send-form-to-email/multiple-recipients.md): Mande um formulário por e-mail para a equipe toda, ou encaminhe cada mensagem à pessoa certa pelo assunto, sem deixar o próprio formulário escolher quem recebe.
- [Sem PHP](https://ikiform.com/pt-br/guides/send-form-to-email/without-php.md): Substitua um script contact.php que chama mail() por um formulário que envia a um endpoint hospedado, mantendo seus nomes de campo, sua página de agradecimento e as respostas.
- [Alternativa ao EmailJS](https://ikiform.com/pt-br/guides/send-form-to-email/emailjs-alternative.md): Tire um formulário de contato do EmailJS: por que chaves de e-mail no navegador são um risco, o que muda no seu código e do que você abre mão, como a resposta automática.
- [Next.js](https://ikiform.com/pt-br/guides/send-form-to-email/nextjs.md): Duas formas de mandar um formulário Next.js por e-mail com uma Server Action: enviar você mesmo com Resend ou Nodemailer, ou encaminhar a um backend de formulários, comparadas com honestidade.
