Предупреждение: stream_socket_enable_crypto(): этот поток не поддерживает SSL/crypto в C:\xampp\htdocs\12work\class.smtp.php в строке 197
Я использую XAMPP и при попытке отправить электронную почту через localhost
я получаю следующее предупреждение:
Предупреждение: stream_socket_enable_crypto()
: этот поток не поддерживает SSL/crypto в C:\xampp\htdocs\12work\class.smtp.php
в режиме онлайн 197
Вот мой код:
$mail = new PHPMailer();
$mail->IsSMTP(); // set mailer to use SMTP
$mail->Host = "smtp.gmail.com"; // specify main and backup server
$mail->SMTPAuth = true;
$mail->Port = 25;
$mail->SMTPSecure = "tls";
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->Username = "[email protected]"; // SMTP username
$mail->Password = "mypassword"; // SMTP password
$mail->From = "[email protected]"; //do NOT fake header.
$mail->FromName = "MailMan";
$mail->AddAddress("[email protected]"); // Email on which you want to send mail
$mail->IsHTML(true);
$mail->Subject = "Just a Test";
$mail->Body = "Hello. I am testing <b>PHP Mailer.</b>";
if(!$mail->Send())
{
echo $mail->ErrorInfo;
}else{
echo "email was sent";
}
Ответы
Ответ 1
Хорошо, нам нужно включить модуль Открыть SSL. Вот как это сделать:
- Найдите и откройте файл
php.ini
- Поиск строки:
;extension=php_openssl.dll
- Включите модуль, удалив
;
char.
- Сохраните файл и перезапустите Apache.
Подсказка:
Если вы не знакомы с файлом php.ini
, рекомендуется создать резервную копию перед изменением. Ini - это файл конфигурации, неправильно сконфигурированный или поврежденный, может привести к тому, что веб-сервер не запустится.
Если вы используете стеки LAMP, такие как wamp, возможно включить модули через графический интерфейс.
Подробнее о php.ini
: https://secure.php.net/manual/en/configuration.file.php
Ответ 2
Просто быстро,
вы используете $mail->Port = 25;
$mail->SMTPSecure = "tls";
Порт должен быть 587 для gmail/tls
См. https://support.google.com/mail/answer/78775?hl=el
Ответ 3
Я решил это
Попытка закрыть selinux
#setenforce 0