Como enviar mensagens com PHP por autenticação SMTP?
Recomendamos o envio de mensagens via formulário de contato através de SMTP autenticado.
Para o funcionamento correto é preciso fazer o download do PHPMailer, para isso:
1. Acesse: acesse:
PHPMailer/PHPMailer
2. Do lado inferior direito clique em “Download ZIP”
3. Extraia os arquivos no mesmo diretório onde será colocado o arquivo criado no passo seguinte
4. Crie um arquivo com a extensão “.php” (exemplo: formulario.php) com o código abaixo
5. Faça alteração nos campos destacados por
Código exemplo:
/*apenas dispara o envio da mensagem caso houver/existir $_POST['enviar']*/
if (isset($_POST['enviar']))
{
/* #### ALTERE OS CAMPOS ENTRE ASPAS SIMPLES DESTACADOS ABAIXO #### */
/* ## CAMPO 1 ## Informe o e-mail que receberá o formulário */
$destinatarios = 'email-para-receber-formulario@seu-dominio';
/* ## CAMPO 2 ## Informe o nome que será exibido no e-mail do formulário */
$nomeDestinatario = 'Nome do destinatário';
/* ## CAMPO 3 ## Informe o endereço de e-mail completo criado em sua hospedagem, que será o remetente da mensagem. Como por exemplo teste@seudominio */
$usuario = 'usuario@seu-dominio';
/* ## CAMPO 4 ## Informe a senha do endereço de e-mail acima */
$senha = 'senha';
/*abaixo as veriaveis principais, que devem conter em seu formulario*/
$nomeRemetente = $_POST['nomeRemetente'];
$assunto = $_POST['assunto'];
$_POST['mensagem'] = nl2br('E-mail: '. $_POST['email'] ."
". $_POST['mensagem']);
/*********************************** A PARTIR DAQUI NAO ALTERAR ************************************/
include_once("class.phpmailer.php");
$To = $destinatarios;
$Subject = $assunto;
$Message = $_POST['mensagem'];
$Host = 'smtp.'.substr(strstr($usuario, '@'), 1);
$Username = $usuario;
$Password = $senha;
$Port = "587";
$mail = new PHPMailer();
$body = $Message;
$mail->IsSMTP(); // telling the class to use SMTP
$mail->Host = $Host; // SMTP server
$mail->SMTPDebug = 0; // enables SMTP debug information (for testing)
// 1 = errors and messages
// 2 = messages only
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->Port = $Port; // set the SMTP port for the service server
$mail->Username = $Username; // account username
$mail->Password = $Password; // account password
$mail->SetFrom($usuario, $nomeDestinatario);
$mail->Subject = $Subject;
$mail->MsgHTML($body);
$mail->AddAddress($To, "");
if(!$mail->Send()) {
$mensagemRetorno = 'Erro ao enviar e-mail: '. print($mail->ErrorInfo);
} else {
$mensagemRetorno = 'E-mail enviado com sucesso!';
}
}
?>