Um site estático não tem servidor para receber um formulário, então formulários de contato costumam significar um serviço de terceiros, um script e uma chave de API. No Lobsite, um formulário só precisa do seu action: aponte-o para /_lobsite/forms/<name> e publique. As mensagens chegam à página Envios do seu painel e ao seu e-mail, com o spam filtrado.
<form action="/_lobsite/forms/contact" method="POST">
<input name="email" type="email" required>
<textarea name="message" required></textarea>
<button>Send</button>
</form>
Como funciona
- Aponte o formulário para o Lobsite.
action="/_lobsite/forms/contact"emethod="POST". A última parte do caminho dá nome ao formulário:contact,newsletter,quote. - Publique. O deploy lê o seu HTML e registra cada formulário que envia para
/_lobsite/forms/; não há nada para cadastrar à mão. - Leia as mensagens na página Envios do painel, no seu e-mail (com Reply-To definido como o remetente) ou exporte-as com
lobsite forms export contact --csv.
A caixa acima começa com uma página de contato. Publique-a para ver o formulário num site no ar; ele aceita mensagens quando o site é mantido numa conta.
Proteção contra spam embutida
Quando uma página é servida, o Lobsite adiciona a cada formulário um campo-armadilha oculto e um carimbo de tempo assinado. Envios que preenchem a armadilha, ou que chegam menos de 2 segundos depois de a página carregar, são separados como spam, e um visitante que envia muitos seguidos é recusado. Você não adiciona captcha nem script para nada disso.
Validações, páginas de agradecimento e JavaScript
Cada formulário pode ter uma seção no lobsite.toml, que vai junto com o deploy:
[forms.contact]
required = ["name", "email", "message"]
types = { email = "email" }
redirect = "/thanks"
requiredetypestambém são verificados no servidor; um envio que falha não é guardado, e o visitante vê o que corrigir.redirectmostra a sua própria página depois do envio. Sem ele, o visitante vê uma página de agradecimento com um link de volta.- Enviar com
fetchmantém o visitante na página: envienew FormData(form)comAccept: application/json, e a resposta é{"ok": true}ou os campos que não passaram. - Frameworks funcionam quando o formulário está no HTML gerado, que é o que a pré-renderização e a exportação estática produzem (Astro, Eleventy, Next.js com
output: "export", SvelteKit comprerender).
Exemplos completos (newsletter, pedido de orçamento, o script com fetch) estão na documentação de formulários.
O que cada plano inclui
| Sem conta | Gratuito | Pago (em breve) | |
|---|---|---|---|
| Aceita envios | Depois que o site é resgatado | Sim | Sim |
| Envios por mês, por site | — | 25 | Sem limite |
| Notificações por e-mail | — | O e-mail da sua conta | Qualquer endereço verificado |
| Webhooks assinados | — | Não | Sim |
| Guardados por | — | 90 dias | 1 ano |
URLs de prévia nunca aceitam envios, e o envio de arquivos em formulários ainda não é suportado.
Aponte um formulário para /_lobsite/forms/contact. Filtro de spam incluso.
Redirecionamentos, cabeçalhos e formulários ficam no lobsite.toml e acompanham cada deploy.
Veja a prévia antes de ir ao ar. Volte atrás com um clique, redirecionamentos inclusos.
Todo limite é publicado, e todo erro diz o que fazer em seguida.
Todo site ganha um endereço *.lobsite.app com HTTPS desde o primeiro deploy.
Os arquivos são guardados pelo hash. Refazer o deploy de um site sem mudanças envia 0 bytes.
Formulários do Lobsite, um serviço de formulários ou seu próprio backend
| Formulários do Lobsite | Um serviço de backend de formulários | Seu próprio backend | |
|---|---|---|---|
| O que você adiciona à página | O action |
O endpoint do serviço, muitas vezes com chave ou script | Seu endpoint |
| Contas para gerenciar | A do seu site | Uma segunda | Um servidor ou uma hospedagem de funções |
| Filtro de spam | Embutido | Varia por serviço e plano | Você constrói |
| Volta junto com o site num rollback | Sim: as configurações ficam no lobsite.toml |
Não | Depende |
| Volume gratuito | 25 por mês por site | Varia por serviço | Seus custos de hospedagem |
| Webhooks | Plano pago, em breve | Geralmente | Sim |
Se você precisa hoje de centenas de envios por mês, ou de envio de arquivos, um serviço dedicado serve melhor até o plano pago chegar. Para um formulário de contato num site pequeno, o action basta.
Perguntas frequentes
Os formulários do Lobsite precisam de JavaScript?
Não. Um formulário HTML simples funciona como está. JavaScript é opcional, para mostrar uma mensagem sem sair da página.
Por que a mensagem do meu formulário foi para o spam?
Na maioria das vezes, o formulário foi renderizado por JavaScript no navegador e perdeu os campos ocultos antispam que o Lobsite adiciona ao servir a página. Mantenha o formulário no HTML gerado e deixe o navegador enviá-lo como foi servido.
Posso receber mensagens em outro endereço de e-mail?
No plano gratuito, as notificações vão para o e-mail da sua conta. Qualquer endereço verificado vem com o plano pago, em breve.
Um site sem conta aceita mensagens de formulário?
Ainda não: o deploy funciona, com um aviso, e o formulário passa a aceitar mensagens quando você resgata o site numa conta gratuita.
Posso ter vários formulários num site?
Sim. Cada nome é um formulário próprio, com suas mensagens e configurações: /_lobsite/forms/contact e /_lobsite/forms/newsletter ficam separados na página Envios e nas exportações.