3
respostas

Parse error no envio do email

Ao tentar realizar a último exercício do curso é retornado esse erro ao tentar realizar o envio da mensagem via smtp

Parse error: syntax error, unexpected '$mail' (T_VARIABLE) in C:\xampp\htdocs\Projeto-de-php\loja\envia-contato.php on line 23

O código da linha 23 é:

$mail->setFrom("alura.php.e.mysql@gmail.com", "Alura Curso PHP e MySQL");

Segue o código todo do envia-contato.php:

<?php 
//Buscanco dados do formulário
session_start();
$nome = $_POST['nome'];
$email = $_POST['email'];
$mensagem = $_POST['mensagem'];

//Inserindo o PhpAutoLoad
require_once("PHPMailerAutoload.php");

//criando um email a ser enviado
$mail = new PHPMailer();

$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->Port = 587;
$mail->SMTPSecure = 'tls';
$mail->STMPAuth = true;
$mail->Username = "alura.php.e.mysql@gmail.com";
$mail->Password = "123456"

//Dados do meu email, quem esta enviando o email
$mail->setFrom("alura.php.e.mysql@gmail.com", "Alura Curso PHP e MySQL");

//endereço alvo quem vai receber o email
$mail->addAddress("hugonaaman@gmail.com");
$mail->Subject = "Email de contato de loja";

//Conteúdo que será enviado no email
$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 êxito.";
    header("Location: index.php");
}else{
    $_SESSION['danger'] = "Erro ao enviar a mensagem, verifique os dados e tente novamente." . $mail->ErrorInfo;
    header("Location: contato.php");
}
die();
 ?>

O código está compartilhado no meu github --> https://github.com/HugoNCastro/Projeto-de-php

3 respostas

Estava faltando o maldito ; kkkkk. Mas agora está dando um erro muito grande sobre SMTP que não sei o que é.

O erro é o seguinte: The following From address failed: hugonaaman@gmail.com : MAIL FROM command failed,Authentication Required. Learn more at https://support.google.com/mail/?p=WantAuthError 96-v6sm4679439qkx.71 - gsmtp ,530,5.5.1SMTP server error: MAIL FROM command failed Detail: Authentication Required. Learn more at https://support.google.com/mail/?p=WantAuthError 96-v6sm4679439qkx.71 - gsmtp SMTP code: 530 Additional SMTP info: 5.5.1SMTP server error: MAIL FROM command failed Detail: Authentication Required. Learn more at https://support.google.com/mail/?p=WantAuthError 96-v6sm4679439qkx.71 - gsmtp SMTP code: 530 Additional SMTP info: 5.5.1

Ele retorna essa mensagem pra mim na tela do navegador por conta da função ErroInfo.

No momento, consegui arrumar esse erro, porém aparece outro:

SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

Alguém pode me ajudar?

Oi Hugo, tudo bom?

Esse erro pode ser causado por alguns problemas. O mais comum é a configuração do Gmail.

Para enviar emails automáticos, você precisa liberar no seu gmail o uso de aplicativos menos seguros.

Uma outra opção é a configuração da porta na sua máquina. Você usa windows, linux ou Mac?

Da uma verificada no seu sistema operacional se a porta 587 (que você está usando nas configurações do seu serviço de email) está disponível =)

Abraço!