Como Enviar E-mails de um Site Estático Jekyll
Sites estáticos, como os gerados pelo Jekyll, não possuem um backend para processar envios de formulário e enviar e-mails diretamente. No entanto, você pode facilmente adicionar essa funcionalidade usando um serviço de terceiros como o Formspree.
Analisando os arquivos do seu projeto, notei que você já utiliza o Formspree em algumas partes do site. Este guia vai detalhar como criar e integrar um formulário de contato simples.
O que é o Formspree?
Formspree é um serviço que atua como um “backend de formulário”. Ele fornece um endpoint (uma URL) para onde você envia os dados do seu formulário HTML. O Formspree recebe esses dados, processa-os e os envia para o seu e-mail, sem que você precise escrever nenhum código de backend.
Passo a Passo para Integrar
1. Crie uma conta no Formspree
Primeiro, acesse formspree.io e crie uma conta gratuita.
2. Crie um novo formulário
- No painel do Formspree, clique em “+ New form”.
- Dê um nome ao seu formulário (ex: “Formulário de Contato”).
- Associe o formulário a um endereço de e-mail para onde as mensagens serão enviadas.
- O Formspree irá gerar uma URL de endpoint única para o seu formulário. Será algo como
https://formspree.io/f/xxxxxxxx
.
3. Crie o formulário HTML no seu site Jekyll
Agora, crie o formulário em qualquer página ou post do seu site Jekyll. Você pode criar um arquivo em _includes
para reutilizá-lo, como o contact-form.html
que já existe no seu projeto.
Aqui está um exemplo de código HTML para um formulário de contato:
<form action="https://formspree.io/f/SUA_URL_AQUI" method="POST">
<div class="form-group">
<label for="name">Seu Nome:</label>
<input type="text" id="name" name="name" required>
</div>
<div class="form-group">
<label for="email">Seu E-mail:</label>
<input type="email" id="email" name="_replyto" required>
</div>
<div class="form-group">
<label for="message">Mensagem:</label>
<textarea id="message" name="message" rows="5" required></textarea>
</div>
<button type="submit">Enviar</button>
</form>
Pontos importantes:
action
: Substitua"https://formspree.io/f/SUA_URL_AQUI"
pela URL do endpoint que você criou no Formspree.method="POST"
: É crucial que o método do formulário sejaPOST
.name
attribute: Cada campo (input
,textarea
) deve ter um atributoname
. O Formspree usará esses nomes para estruturar o e-mail que você receberá.name="_replyto"
: Usar este nome especial para o campo de e-mail permite que você responda diretamente ao e-mail do remetente a partir da sua caixa de entrada.
4. Adicione o formulário à sua página
Se você salvou o código acima em _includes/meu-formulario.html
, pode incluí-lo em qualquer página ou post com a seguinte tag do Liquid:
{% include meu-formulario.html %}
5. Teste o envio
Após publicar seu site, envie uma mensagem de teste através do formulário. A primeira vez, você precisará confirmar seu endereço de e-mail no painel do Formspree. Depois disso, todos os envios chegarão diretamente na sua caixa de entrada.
É isso! Com esses passos, qualquer pessoa pode enviar e-mails a partir do seu site estático Jekyll de forma simples e segura.