Para enviar e-mails em PHP, basta criar dois arquivos. O primeiro, que iremos chamá-lo de formulario.html, terá o código HTML com o formulário e seus campos:
<html lang="pt-br">
<head>
<title>Formulário por e-mail</title>
</head>
<body>
<form action="formulario.php" method="post">
<table>
<tr>
<td>Nome</td>
<td><input name="Nome" type="text" size="40" maxlength="40" /></td>
</tr>
<tr>
<td>E-mail</td>
<td><input name="Email" type="text" size="40" maxlength="40" /></td>
</tr>
<tr>
<td>Sexo</td>
<td>
<input type="radio" name="Sexo" value="Masculino"
checked="checked" />Masculino
<input type="radio" name="Sexo" value="Feminino" />Feminino
</td>
</tr>
<tr>
<td>Idade:</td>
<td>
<select name="Idade">
<option>Menor de 18 anos</option>
<option>Entre 18 e 21 anos</option>
<option>Maior de 21 anos</option>
</select>
</td>
</tr>
<tr>
<td>Comentários</td>
<td><textarea cols="40" rows="3" name="Comentarios"></textarea></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Enviar" />
<input type="reset" value="Limpar" /></td>
</tr>
</table>
</form>
</body>
</html>
Agora vamos criar um script PHP que irá receber os dados e enviar a mensagem por e-mail, com o nome enviar.php:
<?php
$Nome = $_POST['Nome'];
$Email = $_POST['Email'];
$Sexo = $_POST['Sexo'];
$Idade = $_POST['Idade'];
$Comentarios = $_POST['Comentarios'];
$Erro = '';
if ($Nome != '') {
if (filter_var($Email, FILTER_VALIDATE_EMAIL)) {
// inclua aqui outras regras de validação caso considere necessário
} else {
$Erro = 'Email inválido';
}
} else {
$Erro = 'Nome obrigatório';
}
if ($Erro == '') {
//Assunto da mensagem
$subject = 'Formulário do site';
//Montando e formatando a mensagem em HTML
$message = '<h1>Fomulário do site</h1>' . "\r\n";
$message .= "<p>Nome: $Nome</p>\r\n";
$message .= "<p>E-mail: $Email</p>\r\n";
$message .= "<p>Sexo: $Sexo</p>\r\n";
$message .= "<p>Idade: $Idade</p>\r\n";
$message .= "<p>Comentários: <br />$Comentarios</p>\r\n";
//Particiona a mensagem em no máximo 70 caracteres por linha
//(necessário devido a limitações do protocolo de e-mail)
$message = wordwrap($message, 70);
//Configura o tipo de codificação de e-mail
$headers = 'MIME-Version: 1.0' . "\r\n";
//configura o tipo de conteúdo e os caracteres aceitos
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
//Configura o e-mail de origem, configure aqui sempre um e-mail válido do próprio site,
//evitando que sua mensagem seja bloqueada por sistemas de anti-spam e por erro de SPF
$headers .= 'From: "E-mail do remetente" <origem@dominio.com.br>' . "\r\n";
//configura o destinatário caso quem receber a mensagem tente responde-la
//(Quando o destino responder a mensagem
//ela irá para o e-mail que foi preenchido no formulário)
$headers .= 'Reply-To: ' . $Email . '' . "\r\n";
//Configuramos dois destinatários distintos para a mensagem
$to = '"Nome" <destino@dominio.com.br>, "Nome2" <destino2@dominio.com.br>';
if (!mail($to, $subject, $message, $headers)) {
$Erro = 'Falha ao enviar o e-mail';
}
}
if ($Erro == '') {
echo 'Mensagem enviada com sucesso!';
} else {
echo $Erro;
}
?>
Para mais informações sobre a função mail() do PHP, consulte a
documentação oficial.