Serverless functions
NovoEm vez de manter um servidor ligado, você escreve uma função isolada que roda só quando alguém chama, e depois desliga. Sem servidor para administrar, sem custo fixo, e a cota gratuita cobre muito mais do que uma landing page precisa — lembrando que, na Vercel, o plano gratuito é só para projeto pessoal: site de cliente vai no plano Pro, ou na Netlify, cujo gratuito aceita projeto comercial.
Na Vercel, basta criar uma pasta api/ ao lado do seu HTML. Cada arquivo ali vira um endereço.
export default async function handler(req, res) {
if (req.method !== 'POST') {
return res.status(405).json({ erro: 'Método não permitido' });
}
const { nome, email, mensagem } = req.body;
if (!nome || !email) {
return res.status(400).json({ erro: 'Nome e e-mail são obrigatórios' });
}
// a chave fica AQUI, no servidor — nunca no HTML
const chave = process.env.CHAVE_EMAIL;
// ... envia o e-mail ...
res.status(200).json({ ok: true });
}
O arquivo acima responde em /api/contato. Do lado do site, você chama com fetch — aquilo da Parte 5.