Отправка электронной почты с использованием php, gmail и swiftmailer вызывает ошибку, связанную с SSL

StackOverflow https://stackoverflow.com/questions/4846599

Вопрос

Вот мой PHP-код:

родовое слово

Вот ошибка:

( ! ) Warning: fsockopen() [function.fsockopen]: unable to connect to ssl://smtp.gmail.com:465 (Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP?) in C:\Program Files\wamp\www\swift-mailer\lib\classes\Swift\Transport\StreamBuffer.php on line 233

( ! ) Fatal error: Uncaught exception 'Swift_TransportException' with message 'Connection could not be established with host smtp.gmail.com [Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP? #44551400]' in C:\Program Files\wamp\www\swift-mailer\lib\classes\Swift\Transport\StreamBuffer.php on line 235

( ! ) Swift_TransportException: Connection could not be established with host smtp.gmail.com [Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP? #44551400] in C:\Program Files\wamp\www\swift-mailer\lib\classes\Swift\Transport\StreamBuffer.php on line 235

В чем проблема ??

Обновление:

Я проверил код сгенерированного тега, и он говорит:

родовое слово

Я сослался на приведенные ниже ссылки, но мне не удалось установить ssl ...

Это было полезно?

Решение

Поддерживал ли ваш php SSL? http://php.net/manual/en/function.fsockopen.php и проверьте http://www.php.net/manual/en/openssl.installation.php для справки.

Создайте страницу с

родовое слово

Включен ли SSL?

Другие советы

Я искал аналогичный вопрос и обнаружил, что вам нужно отредактировать файл php.ini отредактируйте следующую строку

родовое слово

удалите точку с запятой, и все будет нормально

Надеюсь, что это поможет кому-нибудь еще :)

gmail это нужно в вашем config.yml

swiftmailer: шифрование: tls

или замените свой: -> setEncryption ('ssl') от -> setEncryption ('tls')

а не ssl

Вы должны включить модуль php_openssl из расширений php.Просто отредактируйте файл php.ini

родовое слово

На самом деле, я советую использовать tls на 25-м порту проверить, используя следующий синтаксис:

родовое слово

Вам необходимо настроить php для работы с ssl

http://www.php.net/manual/en/openssl.installation.php

Я надеюсь, что вы решили свою проблему, но для меня строка:

родовое слово

не существует в моем php.ini (работает XAMPP 1.7.7 на Win7), так что просто добавьте его в раздел расширений, удалите из него точку с запятой, и он должен работать.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top