Galera, adicionei uma classe que trabalha com php mailer, quando faço a requisição para o envio do e-mail, dar falha. Já ativei, algumas configurações na minha conta do gmail, tentei várias alternativas, via stackoverflow, entre outros sem sucesso.
Esse é log gerado
2018-01-26 23:27:10 Connection: opening to smtp.gmail.com:587, timeout=300, options=array ()
2018-01-26 23:27:10 Connection: opened
2018-01-26 23:27:10 SERVER -> CLIENT: 220 smtp.gmail.com ESMTP v185sm4135899qkd.44 - gsmtp
2018-01-26 23:27:10 CLIENT -> SERVER: EHLO localhost
2018-01-26 23:27:10 SERVER -> CLIENT: 250-smtp.gmail.com at your service, [170.80.48.4]250-SIZE 35882577250-8BITMIME250-STARTTLS250-ENHANCEDSTATUSCODES250-PIPELINING250-CHUNKING250 SMTPUTF8
2018-01-26 23:27:10 CLIENT -> SERVER: STARTTLS
2018-01-26 23:27:11 SERVER -> CLIENT: 220 2.0.0 Ready to start TLS
2018-01-26 23:27:11 Connection failed. Error #2: stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages:error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed [C:\xampp\htdocs\catonline\lib\phpmailer\phpmailer\class.smtp.php line 374]
SMTP Error: Could not connect to SMTP host.
2018-01-26 23:27:11 CLIENT -> SERVER: QUIT
2018-01-26 23:27:11
2018-01-26 23:27:11
2018-01-26 23:27:11 Connection: closed
SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
E essa classe, que faz todo o trabalho
<?php
class EnviarEmail extends PHPMailer {
/**
* inicializa a classe com os dados iniciais
* @return void
*/
function __construct() {
parent::__construct();
// defino que é SMTP
parent::IsSMTP();
// se é em HTML
parent::IsHTML(true);
// codificação charset padrao UTF8
$this->CharSet = 'UTF-8';
// modo debug 0=off 1 e 2=mostram informações do envio ou erros
$this->SMTPDebug = 3;
//Indica a porta do seu servidor
$this->Port = Config::EMAIL_PORTA;
//smtp.dominio.com.br //seu servidor smtp
$this->Host = Config::EMAIL_HOST;
//define se tem ou autenticação no SMTP
$this->SMTPAuth = Config::EMAIL_SMTPAUTH;
// define dados do remetendo EMAIL, SENHA da conta SMTP
$this->FromName = Config::EMAIL_NOME;
$this->From = Config::EMAIL_USER;
$this->Username = Config::EMAIL_USER;
$this->Password = Config::EMAIL_SENHA;
}
/** * Envia o email propriamente dito
* @return void
* $setor = setor , $destinatario=email dominio, assunto, msg
* $reply = email que vai a resposta
*/
function Enviar($assunto, $msg, $destinatarios=array()) {
//seto dados da mensagem
$this->Subject = $assunto;
$this->Body = $msg;
// email de resposta
// $this->AddReplyTo($reply);
// email para receber uma cópia
// $this->Addcc(Config::EMAIL_COPIA);
//passando um laço para pegar todos os destinatarios
foreach($destinatarios as $email):
$this->AddAddress($email, $email); //PARA MIM
endforeach;
//enviando o email
if (parent::Send()):
$this->ClearAllRecipients();
else:
echo "<h4>Mailer Error: " . $this->ErrorInfo . "</h4>";
endif;
}
}
Alguém teve o mesmo problema? Como resolveram?