Я пытался получить электронную почту с Pear на WAMP через GMail , и, проведя часы, устанавливая все это и выясняя все ошибки, которые я получал, я думал, что я так близко, пока не начал получать это ошибка:
Failed to connect to ssl://smtp.gmail.com:465 [SMTP: Failed to connect socket: Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP? (code: -1, response: )]
Используя этот код:
<?php require_once "info.php"; require_once "Mail.php"; // info.php contains the variable $password $from = "Me <myemail@gmail.com>"; $to = "Me <myemail@gmail.com>"; $subject = "Hi!"; $body = "Hi,\n\nHow are you?"; $host = "ssl://smtp.gmail.com"; $port = "465"; $username = "myemail@gmail.com"; $password = "$password"; $headers = array ('From' => $from, 'To' => $to, 'Subject' => $subject); $smtp = Mail::factory('smtp', array ('host' => $host, 'port' => $port, 'auth' => true, 'username' => $username, 'password' => $password)); $mail = $smtp->send($to, $headers, $body); if (PEAR::isError($mail)) { echo("<p>" . $mail->getMessage() . "</p>"); } else { echo("<p>Message successfully sent!</p>"); } ?>
Я прошел через extension=php_openssl.dll
в (правильном) php.ini и убедился, что extension_dir
указывает на DLL. Я использовал phpinfo();
и я видел несколько упоминаний о SSL:
Я вижу mod_ssl
в Loaded Modules
.
Под заголовком mysqlnd
имеется запись SSL: supported
.
И под заголовком Phar
есть запись Native OpenSSL support: enabled
.
Я также отключил свой брандмауэр, просто чтобы проверить, я перезапустил свой компьютер, и я проверил практически все вопросы, подобные моим на этом сайте, и я до сих пор не нашел решения.
Я уже не понимаю, что делать дальше. Что мне нужно для включения / проверки, чтобы заставить его работать?
Откройте порт 465, открытый для smtp.gmail.com в вашем брандмауэре 🙂
Это поможет
Тогда может возникнуть проблема с вашим хостом или иначе,
Попробуйте это – это работает для меня
Вы разрешили SMTP в своем Gmail
Убедитесь, что «Настройки» активны для SMTP-сервера в настройках Gmail.
Неполный php_openssl.dll
в php.ini
Ответ был прост; Первое, что вам нужно сделать:
Откройте файл php.ini
затем попробуйте найти extension
ключа. Тогда, если вы не можете найти это extension=php_openssl.dll
и, пожалуйста, напишите его, но убедитесь, что вы удалили ;
перед extension
слова.
После его сохранения перезапустите сервер Xampp. После этого все хорошо.