Я использую 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 = "sheikh.abm@gmail.com"; // SMTP username $mail->Password = "mypassword"; // SMTP password $mail->From = "sheikh.abm@gmail.com"; //do NOT fake header. $mail->FromName = "MailMan"; $mail->AddAddress("sheikh.abm@gmail.com"); // 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"; }
Хорошо, нам нужно включить Open SSL- модуль. Вот как это сделать:
php.ini
;extension=php_openssl.dll
;
голец. Подсказка. Если вы не знакомы с файлом php.ini
, рекомендуется создать резервную копию перед изменением. Ini – это файл конфигурации, неправильно сконфигурированный или поврежденный, может привести к тому, что веб-сервер не запустится.
Если вы используете стеки LAMP, такие как wamp, должно быть возможно включить модули через графический интерфейс.
Подробнее о php.ini
: https://secure.php.net/manual/en/configuration.file.php
Просто быстрая заметка,
вы используете $mail->Port = 25;
$mail->SMTPSecure = "tls";
Порт должен быть 587 для gmail / tls
См. https://support.google.com/mail/answer/78775?hl=el
Я решил это
Попытка закрыть selinux
#setenforce 0