Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

AmbroK

Formulário PHP

Mensagens Recomendadas

AmbroK

Bom dia, na verdade não sei se estou no tópico certo ou algo do género mas tenho pesquisado bastante e não encontro respostas. Sou iniciante no PHP e qualquer tipo de linguagem mas preciso de acabar o quanto antes um projeto e o formulário está dando bastantes problemas. :)

 

<?php
// Adiciona o arquivo class.phpmailer.php - você deve especificar corretamente o caminho da pasta com o este arquivo.
require_once("php/PHPMailer.php");
require_once("php/PHPMailerAutoload.php");
require_once("php/SMTP.php");
require_once("php/Exception.php");
require_once("php/POP3.php");
// Inicia a classe PHPMailer
$mail = new PHPMailer\PHPMailer\PHPMailer();
 
//Encontrar erros
$mail->SMTPDebug = 3;

// DEFINIÇÃO DOS DADOS DE AUTENTICAÇÃO - Você deve alterar conforme o seu domínio!
$mail->IsSMTP(); // Define que a mensagem será SMTP
$mail->Host = "smtp.gmail.com"; // Seu endereço de host SMTP
$mail->SMTPAuth = true; // Define que será utilizada a autenticação -  Mantenha o valor "true"
$mail->Port = 587; // Porta de comunicação SMTP - Mantenha o valor "587"
$mail->SMTPSecure = false; // Define se é utilizado SSL/TLS - Mantenha o valor "false"
$mail->SMTPAutoTLS = false; // Define se, por padrão, será utilizado TLS - Mantenha o valor "false"
$mail->Username = '*****@gmail.com'; // Conta de email existente e ativa em seu domínio
$mail->Password = '*******'; // Senha da sua conta de email
 
// DADOS DO REMETENTE
$mail->Sender = "*****@gmail.com"; // Conta de email existente e ativa em seu domínio
$mail->From = "******@gmail.com"; // Sua conta de email que será remetente da mensagem
$mail->FromName = "Fulano"; // Nome da conta de email
 
// DADOS DO DESTINATÁRIO
$mail->AddAddress('*******@gmail.com', 'Nome - Recebe1'); // Define qual conta de email receberá a mensagem
//$mail->AddAddress(' '); // Define qual conta de email receberá a mensagem
//$mail->AddCC(' '); // Define qual conta de email receberá uma cópia
//$mail->AddBCC(' '); // Define qual conta de email receberá uma cópia oculta
 
// Definição de HTML/codificação
$mail->IsHTML(true); // Define que o e-mail será enviado como HTML
$mail->CharSet = 'utf-8'; // Charset da mensagem (opcional)
 
// DEFINIÇÃO DA MENSAGEM
$mail->Subject  = "Formulário de Contato"; // Assunto da mensagem
$mail->Body .= " Nome: ".$_POST['nome']."<br>"; // Texto da mensagem
$mail->Body .= " E-mail: ".$_POST['email']."<br>"; // Texto da mensagem
$mail->Body .= " Assunto: ".$_POST['assunto']."<br>"; // Texto da mensagem
$mail->Body .= " Mensagem: ".nl2br($_POST['mensagem'])."<br>"; // Texto da mensagem
 
// ENVIO DO EMAIL
$enviado = $mail->Send();
// Limpa os destinatários e os anexos
$mail->ClearAllRecipients();
 
// Exibe uma mensagem de resultado do envio (sucesso/erro)
if ($enviado) {
  echo "E-mail enviado com sucesso!";
} else {
  echo "Não foi possível enviar o e-mail.";
  echo "<br><b>Detalhes do erro:</b> " . $mail->ErrorInfo;
}

?>

Já modifiquei até o php.ini e o sendmail.ini no xampp e sempre tenho os mesmos erros referidos abaixo.

2018-06-19 11:05:49 Connection: opening to smtp.gmail.com:587, timeout=300, options=array()
2018-06-19 11:05:49 Connection: opened
2018-06-19 11:05:49 SERVER -> CLIENT: 220 smtp.gmail.com ESMTP j4-v6sm19926116wrr.47 - gsmtp
2018-06-19 11:05:49 CLIENT -> SERVER: EHLO localhost
2018-06-19 11:05:49 SERVER -> CLIENT: 250-smtp.gmail.com at your service, [89.115.83.153]250-SIZE 35882577250-8BITMIME250-STARTTLS250-ENHANCEDSTATUSCODES250-PIPELINING250-CHUNKING250 SMTPUTF8
SMTP Error: Could not authenticate.
2018-06-19 11:05:49 CLIENT -> SERVER: QUIT
2018-06-19 11:05:49 SERVER -> CLIENT: 221 2.0.0 closing connection j4-v6sm19926116wrr.47 - gsmtp
2018-06-19 11:05:49 Connection: closed
SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
Não foi possível enviar o e-mail.
Detalhes do erro: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

Agradeço a quem puder ajudar ! :) 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
M6

Não sei bem qual o teu problema, tens de colocar as questões de forma clara e concreta senão não conseguimos ajudar.

A única coisa que vi aí é a ligação ao servidor onde está a falhar a autenticação.


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
AmbroK
6 minutos atrás, M6 disse:

Não sei bem qual o teu problema, tens de colocar as questões de forma clara e concreta senão não conseguimos ajudar.

A única coisa que vi aí é a ligação ao servidor onde está a falhar a autenticação.

Mas como posso resolver a falha de autenticação?

A senha está correta, já desbloqueei a Autenticação por Captcha do Gmail e todas as etapas que por aí pedem para fazer quando aparecem esse tipo de erros.

Peço desculpa se não fui claro na forma como coloquei a dúvida mas sinceramente, não entendo muito de linguagens de programação e também não quero falar nada errado.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

estou a ver pelo menos 1 definição errada 'SMTPSecure' deveria ser 'tls', podendo ignorar o 'SMTPAutoTLS'


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
AmbroK
1 hora atrás, HappyHippyHippo disse:

estou a ver pelo menos 1 definição errada 'SMTPSecure' deveria ser 'tls', podendo ignorar o 'SMTPAutoTLS'

Acho que fazendo essa modificação já consegui resolver. Obrigado !

Seria possível colocar um upload de ficheiros? Suponho que seja necessário criar um novo arquivo ?  😕 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.