Swift_TransportExceptionConnection не может быть установлен с хостом smtp.gmail.com - PullRequest
0 голосов
/ 25 апреля 2018

Попытка отправить письмо в php.

transport: smtp
host: smtp.gmail.com
username: example@example.com
password: password
port: 587
encryption: ssl

Параметры уже опробованы:

  1. Пробовал все комбинации порта (22, 465, 587) и шифрования (без шифрования, SSL, TLS)
  2. Разрешить доступ к менее защищенным приложениям и отключить проверку подлинности двумя способами.
  3. проверены данные хоста: enter image description here

    ипопробовал с указанным выше именем хоста и ips.

  4. Протестировано mailtrap.io и работает нормально!(получение электронной почты в почтовом ящике, поэтому без проблем в коде )

  5. Я использую ту же учетную запись gmail в другом приложении .net, и она там работает нормально.

Что еще можно попробовать?

Ответы [ 3 ]

0 голосов
/ 27 апреля 2018

Добавил эту строку в streamBuffer.php и все заработало!

$options = array_merge($options, array('ssl' => array('allow_self_signed' => true, 'verify_peer' => false)));
0 голосов
/ 27 апреля 2018

Добавлена ​​эта строка в streamBuffer.php, и она сработала!

$options = array_merge($options, array('ssl' => array('allow_self_signed' => true, 'verify_peer' => false)));

Не отключайте проверку SSL-сертификата - это откроет вам для MITM-атак.

Я почти уверен, что Gmail имеет правильный сертификат, поэтому вам следует попытаться исправить это на своем конце.

  1. Убедитесь, что вы правильно Центр сертификации комплект на вашем сервере.
  2. Если вы находитесь за каким-то доверенным прокси, который работает как MITM, вы должны добавить сертификат прокси к вашим доверенным сертификатам.

Возможно, вы захотите посмотреть Как обновитьcURL CA bundle в RedHat? , Как добавить центр сертификации (CA) в Ubuntu? или аналогичные инструкции, относящиеся к вашей системе.

Также посмотрите на похожиеошибка в Отслеживание ошибок Composer .

0 голосов
/ 25 апреля 2018

Я использую это и работаю

    'mailer' => [
        'class' => 'yii\swiftmailer\Mailer',
        'viewPath' => '@common/mail',
        'useFileTransport' => false,//set this property to false to send mails to real email addresses
        'transport' => [
            'class' => 'Swift_SmtpTransport',
            'host' => 'smtp.gmail.com',
            'username' => 'your_name@gmail.com', // a valid gmail account
            'password' => 'your_password', // the related  passwordd
            'port' => '587',
            'encryption' => 'tls',
        ],
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...