Um formulário de contacto no seu website: enviar os campos por e-mail e evitar spam
Pretende que os visitantes lhe possam enviar um e-mail através de um formulário no seu website? Neste artigo explicamos como criar esse formulário, como protegê-lo contra spam e como garantir que o e-mail chega corretamente.
Criar um formulário
- WordPress: utilize um plugin de formulários, como o Contact Form 7. Não precisa de programar nada. Não é necessário um plugin pago.
- Site próprio em HTML ou PHP: pesquise por "criar formulário HTML" para encontrar exemplos gratuitos. Configure o formulário para enviar através de SMTP e não através da função PHP mail() (ver abaixo).
Evitar spam através do seu formulário
Um formulário sem proteção é quase certamente encontrado por spambots. Nesse caso, recebe muito spam e, no pior dos casos, o seu formulário é utilizado abusivamente para enviar spam a terceiros. Por isso, proteja sempre o seu formulário:
- Captcha: uma verificação que distingue pessoas de bots, como o Google reCAPTCHA ou o Cloudflare Turnstile. O Contact Form 7 funciona com reCAPTCHA. Para o Turnstile, instale um plugin à parte, por exemplo o Simple Cloudflare Turnstile.
- Honeypot: um campo oculto que as pessoas não veem, mas que os bots preenchem. Se o campo estiver preenchido, a mensagem não é enviada. Também existem pequenos plugins para isso.
- Fóruns e blogues: para muitos softwares de fóruns e blogues existe uma integração com o Stop Forum Spam. Este serviço mantém uma lista de endereços IP que enviam spam e bloqueia as mensagens provenientes desses endereços.
- Mantenha o seu website atualizado: atualize regularmente o WordPress, o seu tema e os seus plugins. Um plugin desatualizado é uma porta de entrada frequente para abusos.
Comentários no seu blogue ou fórum
Os spambots não publicam apenas mensagens através de formulários, mas também comentários com links, na esperança de que os motores de pesquisa contabilizem esses links. Saiba como evitar isso:
- Aprove os comentários primeiro. No WordPress, em Definições › Discussão, ative a opção para que os comentários tenham de ser aprovados manualmente. Se não utiliza comentários, desative-os por completo.
- Utilize um plugin antispam ou um captcha para os comentários, tal como no seu formulário.
- Assinale os links nos comentários. Os links publicados pelos próprios visitantes devem ter
rel="ugc"ourel="nofollow". Assim, os motores de pesquisa sabem que não se responsabiliza por esse link. O WordPress faz isto automaticamente desde a versão 5.3. Noutros softwares, consulte as definições ou procure um plugin.
Garantir que o e-mail do seu formulário chega corretamente
- Envie através de SMTP. Com a função mail() do PHP, o remetente passa a ser um endereço com o nome de conta do seu pacote, e não é possível alterá-lo. Esses e-mails acabam muitas vezes na pasta de spam. Através de SMTP, inicia sessão com uma caixa de correio real e define o remetente. No WordPress, utilize para isso um plugin SMTP, como o WP Mail SMTP. Para um script PHP próprio, consulte Como obter o remetente correto com mail() em PHP?.
- Remetente no seu próprio domínio. Configure o formulário para enviar a partir de um endereço do seu próprio domínio, por exemplo info@oseudominio.pt. Nunca utilize o endereço de e-mail do visitante como remetente: nesse caso, muitos destinatários recusam o e-mail. Coloque o endereço do visitante no campo Responder para (Reply-To), para poder responder normalmente à mensagem.
- Os dados para SMTP: o nome do servidor do seu pacote, a porta 587 com STARTTLS ou a porta 465 com SSL/TLS, e o endereço de e-mail e a palavra-passe da caixa de correio. Consulte Todas as definições num só lugar.
O seu formulário já está a ser utilizado abusivamente?
Recebe muitos e-mails devolvidos que não enviou, ou o servidor indica que o seu limite de envio foi atingido? Nesse caso, o seu formulário poderá estar a ser utilizado abusivamente. Consulte O que fazer se o seu endereço de e-mail foi utilizado abusivamente e Limites de envio e a mensagem 'message limit reached'.
Quer saber mais? Siga o curso gratuito de WordPress, lição 9.1 E-mail a partir do WordPress.
