🧱 1. Criando o Formulário HTML

<form id="form-contato" action="#" method="POST">
  <label for="nome">Nome:</label>
  <input type="text" id="nome" name="nome" required>

  <label for="email">Email:</label>
  <input type="email" id="email" name="email" required>

  <label for="mensagem">Mensagem:</label>
  <textarea id="mensagem" name="mensagem" rows="5" required></textarea>

  <button type="submit">Enviar</button>
</form>

🚫 GitHub Pages: Limitações


✅ Alternativas para praticar envio de dados

🔁 1. Simular envio com JavaScript

Você pode interceptar o envio e exibir uma mensagem de sucesso:

document.getElementById("form-contato").addEventListener("submit", function (e) {
  e.preventDefault(); // Impede o envio real
  alert("Mensagem enviada com sucesso (simulação)!");
});

☁️ 2. Usar serviços externos gratuitos

Esses serviços recebem os dados do formulário e enviam por email ou armazenam:

Serviço Descrição Link
Formspree Envia dados por email formspree.io
Getform Armazena e envia dados getform.io
Google Forms Integração com planilhas forms.google.com
Netlify Forms Funciona com sites hospedados no Netlify netlify.com

Exemplo com Formspree:

<form action="https://formspree.io/f/SEU_ID" method="POST">
  <input type="text" name="nome" required>
  <input type="email" name="email" required>
  <textarea name="mensagem" required></textarea>
  <button type="submit">Enviar</button>
</form>

🧠 Boas práticas para formulários


🧪 Dica para estudo avançado

Você pode usar o fetch() para enviar dados via JavaScript para APIs externas ou simular envio local:

fetch("https://formspree.io/f/SEU_ID", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    nome: "Hugo",
    email: "hugo@email.com",
    mensagem: "Olá!"
  })
});

Meu formspree

<form
  action="https://formspree.io/SEU ID"
  method="POST"
>
  <label>
    Your email:
    <input type="email" name="email">
  </label>
  <label>
    Your message:
    <textarea name="message"></textarea>
  </label>
  <!-- your other form fields go here -->
  <button type="submit">Send</button>
</form>