📝 Ferramenta gratuita para devs

Formulário de Contato HTML Grátis 2026

Código completo HTML + PHP pronto para copiar e colar no seu site. Responsivo, validado e funcional. Download grátis sem cadastro!

📋 Demonstração do Formulário

Veja como ficará no seu site. Design profissional e responsivo.

Entre em Contato

👆 Demonstração visual • Copie o código abaixo para usar de verdade

💻 Código HTML do Formulário (index.html)

Copie este código e cole no seu arquivo HTML principal:

📄 index.html
<!DOCTYPE html>
<html lang="pt-br">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Formulário de Contato</title>
  <style>
    body { 
      font-family: Arial, sans-serif; 
      background-color: #f2f2f2; 
      margin: 0; 
      padding: 20px; 
    }
    form { 
      max-width: 500px; 
      margin: auto; 
      padding: 20px; 
      background-color: #fff; 
      border: 1px solid #ccc; 
      border-radius: 8px; 
    }
    label, input, textarea, button { 
      display: block; 
      width: 100%; 
      margin-bottom: 10px; 
    }
    input, textarea { 
      padding: 10px; 
      border: 1px solid #ccc; 
      border-radius: 4px; 
    }
    button { 
      background-color: #007BFF; 
      color: #fff; 
      padding: 10px; 
      border: none; 
      border-radius: 4px; 
      cursor: pointer; 
    }
    button:hover { 
      background-color: #0056b3; 
    }
  </style>
</head>
<body>

<form action="envia.php" method="post">
  <label for="name">Nome:</label>
  <input type="text" id="name" name="name" required>
  
  <label for="email">E-mail:</label>
  <input type="email" id="email" name="email" required>
  
  <label for="message">Mensagem:</label>
  <textarea id="message" name="message" rows="5" required></textarea>
  
  <button type="submit">Enviar</button>
</form>

</body>
</html>

⚙️ Código PHP de Processamento (envia.php)

Crie arquivo envia.php na mesma pasta e cole este código.
⚠️ IMPORTANTE: Altere o email na linha 7 para o SEU email!

⚙️ envia.php
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $name = htmlspecialchars(trim($_POST["name"]));
    $email = htmlspecialchars(trim($_POST["email"]));
    $message = htmlspecialchars(trim($_POST["message"]));

    if (!empty($name) && !empty($email) && !empty($message)) {
        $to = "[email protected]"; // 👈 ALTERE AQUI PARA SEU EMAIL
        $subject = "Nova mensagem de contato do site";
        $body = "Nome: $name\nE-mail: $email\nMensagem:\n$message";
        $headers = "From: $email";

        if (mail($to, $subject, $body, $headers)) {
            echo "Mensagem enviada com sucesso!";
        } else {
            echo "Erro ao enviar a mensagem. Tente novamente.";
        }
    } else {
        echo "Todos os campos são obrigatórios.";
    }
} else {
    echo "Método de requisição inválido.";
}
?>

📖 Como Usar Este Formulário no Seu Site

Guia completo passo a passo para adicionar formulário de contato funcional no seu site. Processo simples que qualquer pessoa consegue fazer, mesmo sem conhecimento técnico avançado.

📝 Passo a Passo Completo

  1. Copie o código HTML: Clique no botão "Copiar Código" do primeiro bloco (index.html). Cole em arquivo novo e salve como contato.html ou index.html.
  2. Copie o código PHP: Clique no botão "Copiar Código" do segundo bloco (envia.php). Cole em arquivo novo e salve como envia.php.
  3. Configure seu email: No arquivo envia.php, linha 7, altere "[email protected]" para seu email real onde deseja receber mensagens.
  4. Upload para hospedagem: Use FTP (FileZilla) ou cPanel File Manager para enviar ambos arquivos para seu servidor de hospedagem. Certifique-se que hospedagem suporta PHP.
  5. Teste o formulário: Acesse a página do formulário no navegador (ex: seusite.com/contato.html) e envie mensagem de teste para verificar se email chega.
  6. Personalize o design: Edite CSS no bloco <style> do HTML para customizar cores, fontes e layout conforme identidade visual do seu site.

✅ Requisitos Necessários

  • Hospedagem com PHP: Servidor Linux com PHP 5.6+ (PHP 7.x ou 8.x recomendado). HostSSD oferece PHP 5.6 até 8.4 com suporte mail() nativo.
  • Função mail() habilitada: Maioria das hospedagens compartilhadas tem por padrão. Se não funcionar, contate suporte da hospedagem ou migre para HostSSD.
  • Conhecimento básico de FTP: Para fazer upload de arquivos. Use FileZilla (grátis) ou File Manager do cPanel se sua hospedagem oferece.
  • Email válido: Email de destino deve existir e estar ativo para receber mensagens do formulário.

🔧 Personalizações Comuns

Melhorias que você pode fazer no código básico fornecido:

  • Adicionar campo telefone: Insira <input type="tel" name="phone"> no HTML e capture com $_POST["phone"] no PHP.
  • Dropdown de assunto: Use <select name="subject"> para usuário escolher categoria da mensagem (Suporte, Vendas, etc).
  • Validação JavaScript: Adicione script JS para validar campos antes de enviar, melhorando experiência do usuário.
  • Anti-spam com reCAPTCHA: Integre Google reCAPTCHA v3 para bloquear bots e spam. Tutorial disponível na documentação Google.
  • Envio via SMTP: Use biblioteca PHPMailer para enviar emails via SMTP (Gmail, Outlook) ao invés de mail() nativo, evitando problemas de spam.
  • Mensagem de confirmação visual: Exiba div de sucesso/erro no próprio HTML ao invés de apenas texto simples.

⚠️ Problemas Comuns e Soluções

  • Formulário não envia emails: Verifique se função mail() está habilitada no servidor. Teste com script PHP simples: <?php mail("[email protected]", "Teste", "Teste"); ?>
  • Emails caem na pasta spam: Configure registros SPF e DKIM no DNS do domínio. Ou use SMTP autenticado (Gmail SMTP, SendGrid, Mailgun) ao invés de mail() nativo.
  • Erro "method not allowed": Certifique-se que arquivo tem extensão .php (não .html) e servidor processa PHP corretamente.
  • Página em branco após enviar: Erro de sintaxe no PHP. Ative error_reporting ou verifique logs de erro do servidor para identificar problema.
  • Hosting não suporta mail(): Considere migrar para HostSSD com suporte PHP completo e mail() funcionando nativamente.

🎨 Customização de Design (CSS)

Altere cores e estilos editando o bloco <style> no HTML:

  • Cor do botão: Altere background-color: #007BFF; para sua cor preferida (ex: #28a745 verde).
  • Largura máxima: Ajuste max-width: 500px; do form para mais largo/estreito conforme necessidade.
  • Fonte: Troque font-family: Arial por Google Fonts ou fonte do seu site para consistência.
  • Background: Altere background-color: #f2f2f2; do body para cor de fundo desejada.
  • Bordas arredondadas: Aumente/diminua border-radius para cantos mais/menos arredondados.

🔒 Segurança do Formulário

Boas práticas de segurança já implementadas no código:

  • htmlspecialchars() previne injeção de HTML/JavaScript malicioso nos campos.
  • trim() remove espaços desnecessários que poderiam ser usados para exploits.
  • Validação de método POST evita acesso direto ao script PHP via GET.
  • Validação de campos vazios previne envio de formulários incompletos.

Melhorias de segurança adicionais recomendadas:

  • Adicione validação de formato de email com filter_var($email, FILTER_VALIDATE_EMAIL).
  • Implemente rate limiting (limite de envios por IP) para prevenir spam.
  • Use token CSRF para proteger contra ataques Cross-Site Request Forgery.
  • Considere implementar Google reCAPTCHA v3 para bloquear bots.
  • Hospede em servidor com SSL/HTTPS para criptografar dados em trânsito (HostSSD oferece SSL grátis).

📱 Responsividade Mobile

O código fornecido já é responsivo graças a:

  • <meta name="viewport"> garante escala correta em dispositivos móveis.
  • width: 100% nos campos faz eles se adaptarem à largura da tela.
  • max-width: 500px no form evita ficar muito largo em desktops.
  • Padding e margins adequados garantem toque fácil em telas touch.

Teste sempre em Chrome DevTools modo mobile (Ctrl+Shift+M) ou em dispositivo real antes de publicar.

❓ Perguntas Frequentes Sobre Formulário HTML/PHP

1. Este formulário é realmente grátis?

Sim, 100% gratuito! Código é open-source e pode ser usado livremente em projetos pessoais ou comerciais sem necessidade de créditos ou pagamento. Copie, modifique e use à vontade. Apenas requer hospedagem com PHP (HostSSD oferece desde R$19,99/mês com teste grátis 30 dias).

2. Preciso de conhecimento técnico para usar?

Conhecimento básico ajuda mas não é obrigatório. Se você sabe copiar/colar código e fazer upload de arquivos via FTP ou cPanel, consegue usar este formulário. Guia passo a passo acima explica todo processo. Se tiver dificuldade, suporte da HostSSD pode ajudar na instalação.

3. Funciona em qualquer hospedagem?

Funciona em hospedagens Linux com PHP e função mail() habilitada (maioria das hospedagens compartilhadas). NÃO funciona em: GitHub Pages, Netlify, Vercel (hospedagem estática sem PHP), hospedagem apenas HTML. HostSSD garante compatibilidade total com PHP 5.6 a 8.4 e mail() funcionando.

4. Como evitar que emails caiam em spam?

Para evitar spam: 1) Configure registros SPF e DKIM no DNS do domínio. 2) Use domínio próprio no email remetente (não @gmail.com). 3) Considere usar SMTP autenticado ao invés de mail() nativo. 4) Certifique-se que servidor tem boa reputação de IP. HostSSD mantém IPs limpos e bem configurados.

5. Posso adicionar mais campos ao formulário?

Sim! Adicione quantos campos quiser: telefone, empresa, assunto, cidade, etc. No HTML, adicione <input name="nomedocampo">. No PHP, capture com $_POST["nomedocampo"] e adicione ao corpo do email. Mantenha campos required apenas nos essenciais para não inibir envios.

6. Como adicionar proteção anti-spam?

Melhores opções anti-spam: 1) Google reCAPTCHA v3 (invisível, recomendado). 2) Honeypot field (campo escondido que bots preenchem). 3) Rate limiting por IP (limitar envios por hora). 4) Validação de tempo mínimo entre submit (bots enviam instantaneamente). Implemente ao menos reCAPTCHA para sites públicos com muito tráfego.

7. Posso enviar cópia do email para o remetente?

Sim! Adicione segundo mail() no PHP: mail($email, "Cópia da sua mensagem", $body, $headers);. Isso envia cópia para email do remetente. Útil para confirmação. Porém, cuidado com spam - alguns usuários podem colocar emails falsos que rejetarão, afetando reputação do servidor.

8. O código funciona com WordPress?

Sim, mas WordPress tem plugins de formulário mais integrados (Contact Form 7, WPForms). Para usar este código: crie template customizado ou use plugin "Insert PHP Code Snippet" para adicionar código em página. Alternativa mais simples: instale WordPress em Hospedagem WordPress HostSSD e use plugins nativos.

Formulário de Contato HTML Grátis. Código fornecido por HostSSD Soluções Digitais

Hospedagem SSD Profissional com PHP · SSL Grátis · Desde 2009