Formulário de contato Gatsby

Formgong team ·

Um formulário de contato Gatsby pode enviar do navegador para o Formgong. O Gatsby entrega arquivos estáticos, então não há servidor para o POST. Você não precisa de uma função do Gatsby nem de um segredo de e-mail. Cole o formulário, troque a chave e os avisos chegam por e-mail e no Telegram. O site continua estático.

Gatsby
<form action="https://formgong.com/submit" method="POST">
  <input type="hidden" name="access_key" value="fk_your_access_key">
  <input type="hidden" name="_lang" value="pt">
  <label>Nome <input type="text" name="name" autocomplete="name" placeholder="O seu nome" required></label>
  <label>E-mail <input type="email" name="email" autocomplete="email" placeholder="voce@exemplo.com" required></label>
  <label>Mensagem <textarea name="message" placeholder="Como podemos ajudar?" required></textarea></label>
  <div aria-hidden="true" style="position:absolute;inset-inline-start:0;top:0;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)">
  <label>Deixe este campo vazio<input type="text" name="botcheck" tabindex="-1" autocomplete="off"></label>
</div>
  
  <button type="submit">Enviar</button>
</form>

Como funcionam os formulários em Gatsby

O Gatsby transforma páginas React em HTML estático. O guia de formulário oferece um serviço de formulários, Netlify Forms ou um servidor seu. Gatsby Functions é o caminho de servidor documentado. É uma função que você publica e mantém.

Um arquivo em src/pages pode ter um formulário HTML. Ele envia para https://formgong.com/submit com access_key, _lang e botcheck. Só nomes que começam com GATSBY_ chegam ao navegador. Esta chave é pública, então esse prefixo serve.

Configuração em Gatsby

  1. Crie um formulário no Formgong e copie a chave. Ela começa com fk_.
  2. Adicione src/pages/contact.js e cole o formulário. A ação é https://formgong.com/submit.
  3. Troque fk_your_access_key. Um nome como GATSBY_FORMGONG_KEY é opcional. Nunca ponha uma senha SMTP num nome GATSBY_.
  4. Rode gatsby develop e envie um teste. Depois rode gatsby build. O POST corre no navegador, então a build publicada se comporta igual.
  5. Se o site está na Netlify, não adicione data-netlify. Um formulário só de React fica invisível para a leitura do HTML, a menos que você também publique uma cópia oculta com form-name.

Formgong ou uma função do Gatsby?

Use uma Gatsby Function quando o envio precisa mudar o seu banco ou chamar uma API privada.

Use o Formgong para contato e leads. Você evita SMTP, uma função para hospedar e o HTML oculto que a Netlify pede para React.

Perguntas e respostas

O Gatsby inclui um formulário de contato?

Não. O guia oficial cita um backend de formulários, Netlify Forms se você hospeda lá, ou o seu servidor. A página continua estática.

Por que a Netlify não vê o meu formulário Gatsby?

A Netlify lê o HTML depois da build. Um formulário que só aparece quando o React corre fica de fora. Envie ao Formgong ou acrescente uma cópia estática oculta.

Posso usar fetch e ficar na página?

Sim. Chame fetch em https://formgong.com/submit e envie Accept: application/json. O formulário HTML ainda funciona se o JavaScript estiver desligado.

A chave é segura no bundle do Gatsby?

Sim. Ela só aceita envios do seu formulário. No Pro você pode limitar os domínios. Não ponha chaves privadas num nome GATSBY_.

Começar grátis