PHP отправляет письмо с ошибкой SMTP: Предупреждение: stream_socket_enable_crypto (): не удалось загрузить языковую строку: tls - PullRequest
0 голосов
/ 16 января 2019

Я бы отправил письмо с SMTP на PHP.Я использую Gmail SMTP.

Мой код:

<?php

require 'PHPMailer_5.2.0/class.phpmailer.php';

$mail = new PHPMailer;

$mail->IsSMTP();                                      // Set mailer to use SMTP
$mail->Host = 'smtp.gmail.com';                 // Specify main and backup server
$mail->Port = 587;                                    // Set the SMTP port
$mail->SMTPAuth = true;                               // Enable SMTP authentication
$mail->Username = 'egenthiers.80@gmail.com';                // SMTP username
$mail->Password = 'XXXX';                  // SMTP password
$mail->SMTPSecure = 'tls';                            // Enable encryption, 'ssl' also accepted

$mail->From = 'egenthiers.80@gmail.com';
$mail->FromName = 'Egen Can';
$mail->AddAddress('egenthiers.63@gmail.com', 'Egen Can');  // Add a recipient

$mail->IsHTML(true);                                  // Set email format to HTML

$mail->Subject = 'Here is the subject';
$mail->Body    = 'This is the HTML message body <strong>in bold!</strong>';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

if(!$mail->Send()) {
   echo 'Message could not be sent.';
   echo 'Mailer Error: ' . $mail->ErrorInfo;
   exit;
}

echo 'Message has been sent';
?>

Когда я запускаю этот код.Я получаю эту ошибку:

Предупреждение: stream_socket_enable_crypto (): сбой операции SSL с кодом 1. Сообщения об ошибках OpenSSL: ошибка: 14090086: процедуры SSL: ssl3_get_server_certificate: сбой проверки сертификата в C: \ xampp \ htdocs\ xxx \ PHPMailer_5.2.0 \ class.smtp.php в строке 200 Не удалось загрузить строку языка: tls Сообщение не может быть отправлено. Ошибка продавца: Не удалось загрузить строку языка: ошибка SMTP-сервера tls:

Как я могу решить эту проблему?

Мне нужна ваша помощь.

1 Ответ

0 голосов
/ 16 января 2019

Ошибка 1:

require 'PHPMailer_5.2.0/class.phpmailer.php';

Вы используете очень, очень старую версию PHPMailer, которая содержит ошибки и подвержена многочисленным дырам в безопасности. Немедленно обновить .

Ошибка 2:

OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:
certificate verify failed 

Не поиск этого сообщения об ошибке означает, что вы не нашли много, много ответов и документацию , которая решает именно эту проблему.

Документация охватывает это широко. Скорее всего, комплект сертификатов CA вашего сервера устарел (особенно если вы используете такую ​​старую версию PHPMailer и основали свой код на очень старом примере).

...