Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Problema no envio de email com PHP

solução

O Gmail possui uma opção de segurança que você precisa habilitar, para que aplicações "menos seguras", que são as aplicações que desenvolvemos, possam usar o gmail para enviar e-mails. Acesse esse link: https://myaccount.google.com/u/0/security?pli=1

Depois procure pela opcão: Allow less secure apps e ligue (mude para ON). No meu caso, ficou em inglês. Se para você, estiver em português a opção é algo como Habilitar aplicações menos seguras.

Espero que ajude. Abraço.

2 respostas

Oi Paulo. deu certinho. Muito obrigado.

Olá. Estou com problema no exercício 10. Envio de email via SMTP. Fiz conforme explicado, porêm não está dando certo o envio do email. Depois que eu clico no botão enviar, o navegador volta para a tela de formulário sem apresentar mensagem nenhuma de erro. e também não chegou nenhum email na minha caixa do gmail.

O meu código ficou assim:

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 = "regisyamamoto@gmail.com"; 
$mail->Password = "xxxxxxxx"; 

$mail->setFrom("regisyamamoto@gmail.com", "Alura Curso PHP e MySQL"); 
$mail->addAddress("regisyamamoto@gmail.com"); 
$mail->Subject = "Email de contato da loja"; 
$mail->msgHTML("<html>de: {$nome}
email: {$email}
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();