Neste tutorial, vamos criar um formulário simples em PHP, que você poderá estar implementando e personalizando ele em seu site. Para isso, iremos utilizar a função “Mail” habilitada no PHP.
Passo 1 Abra seu editor de códigos preferido e copie e cole o seguinte código abaixo:
<form action="envia.php" method="post"> <label>Seu nome</label> <input type="text" name="nome"> <br> <label>Seu email</label> <input type="text" name="email"> <br> <label>Sua mensagem</label> <textarea name="mensagem" id="" cols="30" rows="10"></textarea> <br> <button type="submit">Enviar</button> </form>
Após, salve o arquivo com o nome que desejar. Neste exemplo, iremos salvar como “contato.html”
Passo 2 Vamos criar agora, o arquivo PHP que irá receber os dados de nosso formulário e nos enviar via função mail. Em seu editor de html, copie e cole o seguinte código abaixo:
<?php // Pegamos os dados vindo do formulário $nome = $_POST['nome']; $email = trim($_POST['email']); $mensagem = $_POST['mensagem'];
$assunto = "Mensagem recebida do site";
// Aqui iremos montar o conteúdo que será enviado em seu email $body = ' <b>Mensagem enviada via Formulário</b> <br> <br><b>Nome: '.$nome.'</b><br> <br> <br><b>Nome: '.$email.'</b><br> <br> <br><b>Nome: '.$mensagem.'</b><br> <br> <hr><br> Horário e data do envio: '.date('d/m/Y H:is').' '; // Vamos o header do email conforme determina a RFC 822 // O Return-Path deve ser o mesmo do From $headers = "MIME-Version: 1.1\r\n"; $headers .= "Content-type: text/html; charset=utf-8\r\n"; $headers .= "From: seuemail@exemplo.com.br\r\n"; $headers .= "Return-Path: seuemail@exemplo.com.br\r\n"; $envio = mail("seuemail@exemplo.com.br", $assunto, $body, $headers); // Aqui iremos validar o envio com if if($envio){ echo "<script>location.href='sua página de sucesso'</script>"; } else { echo "OPS! Ocorreu um erro ao enviar seu email"; } ?>
Após ter implementado o código, salve este arquivo como “envia.php”. Estando todos os arquivos criados e devidamente configurados, basta você envia-los para sua conta de hospedagem e realizar os testes de envio.
Caso apareça alguma dúvida, ou tenha dificuldades em implementar, comente abaixo, será um prazer respondê-lo.
No código da página “envia.php”, está errado o nome da variável que monta o e-mail. A linha correta deve ser escrita da seguinte forma: $envio = mail(“seuemail@exemplo.com.br”, $assunto, $body, $headers);
E também faltou declarar a variável $assunto!
César,
Obrigado pela observação, fiz a correção no artigo.
Obrigado, Bruno.
César,
Obrigado pela observação, fiz a correção no artigo.
Obrigado, Bruno.
minha mensagem esta chegando assim;
Mensagem enviada via Formulário
Nome: undefined
Email: undefined
Mensagem: undefined
________________________________________
Horário e data do envio: 27/08/2020 22:48
Carlos,
Por algum motivo as variáveis $_POST não estão sendo passadas em seu ambiente. Recomendo que acione o suporte técnico do seu provedor de hospedagem para avaliar o que está ocorrendo.
Obrigado, Bruno.