3
respostas

Error ao enviar email

Mensagem de erro: Erro ao enviar mensagem The following From address failed: freitas.rodrigo80@gmail.com : Called MAIL FROM without being connected,,,SMTP server error: Called MAIL FROM without being connectedSMTP server error: Called MAIL FROM without being connected

Segue abaixo o código

<?php

session_start();
$nome = $_POST["nome"];
$email = $_POST["email"];
$mensagem = $_POST["mensagem"];

require_once("PHPMailerAutoload.php");

$mail = new PHPMailer();
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->Port = 587;
$mail->SMTPSecure = 'tls';
$mail->SMTPAuth = true;
$mail->Username = "freitas.rodrigo80@gmail.com";
$mail->Password = "xxxxxxxxxx";

$mail->setFrom("freitas.rodrigo80@gmail.com", "Alura Curso PHP e MySQL");
$mail->addAddress("freitas.rodrigo80@gmail.com");
$mail->Subject = "Email de contato da loja";
$mail->msgHTML("<html>de: {$nome}<br/>email: {$email}<br/>mensagem: {$mensagem}</html>");
$mail->AltBody = "de: {$nome}\nemail:{$email}\nmensagem: {$mensagem}";

if($mail->send()) {
    $_SESSION["success"] = "Mensagem enviada com sucesso";
    header("Location: index.php");
} else {
    $_SESSION["danger"] = "Erro ao enviar mensagem " . $mail->ErrorInfo;
    header("Location: contato.php");
}
die();

Alguém pode me ajudar?

3 respostas

Já tentou habilitar o DEBUG? $mail->SMTPDebug = 2;

Você usa verificação de dois passos na sua conta? Eu tive um problema similar, troquei de conta para uma que não tem verificação de dois passos e funcionou.

Olá Rodrigo, tudo bem?

if((Você precisa entrar no gmail que está recebendo a mensagem e ativar a opção de Permitir aplicativos menos seguros, na configuração da conta.) || (Tente enviar para um e-mail diferente do remetente )){

echo "Espero ter lhe ajudado!Caso o problema persistir estamos dispostos em lhe ajudar. ";

echo ">.<";

}