Não é possível conectar ao GMail SMTP (PHPMailer) - Falha na verificação do certificado
Recentemente, esse erro foi encontrado ao tentar enviar email via SMTP e GMail.
Warning: stream_socket_enable_crypto(): SSL operation failed with code 1.
OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in C:\xampp\htdocs\portal\libraries\php_mailer\class.smtp.php on line 343
2017-12-05 09:48:03 SMTP Error: Could not connect to SMTP host.
2017-12-05 09:48:03 CLIENT -> SERVER: QUIT
2017-12-05 09:48:03 SMTP ERROR: QUIT command failed:
O endereço do servidor éhttps://gg-portal.com, e a configuração do SSL parece correta (verificada por meio de verificadores online).
O código PHPMailer é ...
$mail = new PHPMailer();
$mail->isSMTP();
$mail->Host = "smtp.gmail.com";
$mail->SMTPAuth = true;
$mail->Username = $this->_config["EmailUser"];
$mail->Password = $this->_config["EmailPass"];
$mail->SMTPSecure = "tls";
$mail->SMTPDebug = 1;
$mail->Port = 587;
$mail->FromName = $this->_config["Brand"];
$mail->From = $this->_config["EmailFrom"];
$mail->AddCC("...emailAddress...");
$mail->Subject = "...subject...";
$mail->Body = "...content...";
$mail->IsHTML(true);
$mail->WordWrap = 50;
if(!$mail->Send()) {
echo ' Message was not sent.';
echo 'Mailer error: ' . $mail->ErrorInfo;
}
Examinou a documentação que sugere problemas de certificado, embora, como indicado, a configuração do SSL pareça boa. Já analisamos o problema em outro lugar e as sugestões mais populares são ignorar o SSL (que funciona), no entanto eu preferiria não fazer isso.
'context' => [
'ssl' => [
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
]
]