Contact Forms

Construtor de formulários de contacto: incorpore formulários nas páginas, guarde cada envio e envie e-mails através do fornecedor do site.

Extensão

Contact Forms

Construtor de formulários de contacto: incorpore formulários nas páginas, guarde cada envio e envie e-mails através do fornecedor do site.

  • Categoria: forms
  • Estado: Disponível
  • Versão: 1.1.2
  • Preço: Desconhecido
  • Origem: Registro oficial de plugins
  • Instalação: Plugin sandbox do registro
  • Verificado: 2026-10-21

Descrição

Crie um formulário de contacto na administração, coloque-o em qualquer página com um bloco e leia cada envio na caixa de entrada integrada. O e-mail de notificação passa pelo fornecedor que o seu site já utiliza — o plugin nunca fala diretamente com um serviço de e-mail.

Demonstração ao vivo: emdashhq.com/contact — um formulário funcional renderizado por este plugin num site EmDash em produção.

O que obtém

  • Formulários — crie e edite formulários, gira os campos (text, email, tel, url, number, textarea, select, checkbox), reordene-os, ative ou desative um formulário sem o eliminar.
  • Caixa de entrada de envios — cada entrada é guardada na base de dados do seu site juntamente com a página de onde veio; filtre por formulário, estado ou resultado do e-mail; marque como lido ou arquive; reenvie a notificação; copie como CSV.
  • Registo de e-mails — cada tentativa de envio com o estado, a duração e a mensagem de erro do fornecedor, para que uma falha de entrega possa ser diagnosticada em vez de passar despercebida.
  • Widget do painel — contagem de não lidos, formulários ativos e os envios mais recentes.
  • Anti-spam — honeypot oculto, armadilha de tempo mínimo de preenchimento e limite por hora e por IP ativados por predefinição; Cloudflare Turnstile opcional quando as armadilhas passivas não bastam.
  • Retenção — eliminação opcional de envios e entradas do registo com mais de um número de dias.

O endereço do seu visitante nunca aparece na definição pública do formulário, e o destinatário de um formulário só existe na administração.

Instalação

Instalação e primeiro formulário

  1. Na administração do EmDash abra Registry, procure Contact Forms e clique em Install. O plugin pede para enviar e-mail através do fornecedor do seu site e para contactar challenges.cloudflare.com — esse anfitrião só é usado se ativar o Turnstile.
  2. Abra Plugins → Contact forms → Settings e defina o e-mail de notificação predefinido. É para aí que os envios são enviados quando um formulário não o substitui.
  3. Abra Forms → New form. Dê-lhe um nome, um slug como contact e adicione campos. Cada formulário pode substituir o destinatário, o modelo do assunto, a etiqueta do botão e a mensagem de sucesso.
  4. Coloque o formulário numa página com o bloco Contact form e introduza o slug. Se o seu tema ainda não inclui o bloco, o diretório site/ do pacote tem os dois ficheiros a copiar — block-type.json para o seed e ContactForm.astro para a renderização; o README explica o passo a passo.
  5. Em Settings → Email, ative um fornecedor e envie um e-mail de teste. Sem fornecedor, os envios são guardados na mesma — simplesmente não são enviados por e-mail, e o registo de e-mails mostra o motivo.

Os envios aparecem em Plugins → Contact forms → Submissions e no widget do painel assim que o primeiro visitante escrever.

Perguntas frequentes

Para onde vão os envios?

Para a base de dados do seu próprio site, em Plugins → Contact forms → Submissions. Nada é enviado a terceiros — as únicas chamadas de saída são o e-mail de notificação através do seu fornecedor e, se estiver ativada, a verificação do Turnstile.

Envia e-mail sem um fornecedor configurado?

Não, e não faz mal — os envios são guardados na mesma com o estado de e-mail skipped. Assim que ativar um fornecedor em Settings → Email, as notificações e as confirmações aos visitantes começam a ser enviadas, e o registo de e-mails regista cada tentativa.

Como trava o spam?

Três defesas passivas estão sempre ativas: um campo honeypot oculto, uma armadilha de tempo mínimo de preenchimento e um limite de envios por hora e por IP que pode ajustar nas definições. Quando isso não basta, cole as chaves do site e secreta do Cloudflare Turnstile nas definições do plugin e cada formulário é verificado antes de se guardar o que quer que seja.

Os visitantes podem receber um e-mail de confirmação?

Sim. Um formulário pode enviar ao visitante uma confirmação com o seu próprio modelo de assunto. Os modelos de assunto podem usar valores dos campos enviados, e as respostas aos e-mails de notificação vão para o campo de e-mail do visitante.

Posso retirar os envios?

A página de envios copia a vista filtrada como CSV, e uma rota export autenticada serve o mesmo CSV para scripts ou tokens de API.

Os envios podem ser eliminados automaticamente?

Defina Keep submissions for (days) nas definições do plugin. Uma tarefa agendada elimina os envios e as entradas do registo de e-mails mais antigos do que o limite; 0 mantém tudo.

O formulário público expõe o endereço do destinatário?

Não. A rota pública do formulário devolve apenas os campos, as etiquetas e as opções — o destinatário e as definições de notificação nunca saem da administração.

Registo de alterações

1.1.2

  • As caixas de verificação obrigatórias passam a rejeitar valores omitidos ou inválidos em vez de os deixar passar em silêncio.
  • Os envios são guardados antes de qualquer trabalho de e-mail: se o fornecedor falhar depois, a linha é marcada como falhada mas a mensagem nunca se perde, e o visitante continua a receber uma resposta guardada.
  • As novas tentativas de envio são idempotentes: uma impressão digital calculada sobre o slug, o IP e os valores suprime linhas e e-mails duplicados.
  • Os envios rejeitados voltam a preencher o formulário com erros por campo através de um registo de recuperação de utilização única.
  • A verificação do Turnstile tem um prazo de dez segundos e uma política de falha configurável (aceitar por predefinição).
  • O limite de frequência por IP é atómico e consome o seu orçamento antes do Turnstile.
  • As chaves de campo cf_ estão reservadas para o protocolo de envio e são rejeitadas pela administração.
  • A exportação CSV e a pré-visualização da administração neutralizam a injeção de fórmulas de folha de cálculo.
  • A limpeza horária passa também a eliminar os baldes de frequência obsoletos, os registos de recuperação e as reservas de idempotência.
  • Documentação: a ligação da demonstração ao vivo leva parâmetros UTM.

1.1.1

  • A ficha do registo ganha um ícone, um banner, capturas de ecrã, um guia de instalação, perguntas frequentes e este registo de alterações. Sem alterações no plugin em si.

1.1.0

  • Verificação opcional do Cloudflare Turnstile em cada formulário: defina a chave do site e a chave secreta nas definições do plugin e os envios são verificados antes de serem guardados.
  • Nova permissão network:request restrita a challenges.cloudflare.com para essa verificação.
  • Definição de registo de depuração detalhado, útil enquanto liga um novo fornecedor de e-mail.

1.0.0

  • Primeira versão. Construtor de formulários na administração com oito tipos de campo, caixa de entrada de envios, registo de entrega de e-mails e widget do painel.
  • E-mail de notificação e de confirmação ao visitante através do fornecedor ativo do site com ctx.email.send().
  • Honeypot, tempo mínimo de preenchimento e limite por hora e por IP ativados por predefinição; limpeza de retenção opcional de envios antigos.
  • Rotas públicas form e submit mais o bloco de página Contact form incluído em site/.