Выпуск №64. Настройка безопасности гугл аккаунта для корректной автоматической отправки писем
|
|
Статья может пригодится тем, кто однажды, при попытке автоматической отправки письма, например ссылки на смену пароля, получил такой ответ от вебсервера: "
Failed to authenticate on SMTP server with username "бла-бла@бла.ру" using 3 possible authenticators. Authenticator LOGIN returned Expected response code 235 but got code "535", with message "535-5.7.8 Username and Password not accepted. Learn more at
535 5.7.8 https://support.google.com/mail/?p=BadCredentials q5sm1241447ejc.117 - gsmtp
". Authenticator PLAIN returned Expected response code 235 but got code "535", with message "535-5.7.8 Username and Password not accepted. Learn more at
535 5.7.8 https://support.google.com/mail/?p=BadCredentials q5sm1241447ejc.117 - gsmtp
". Authenticator XOAUTH2 returned Expected response code 250 but got code "535", with message "535-5.7.8 Username and Password not accepted. Learn more at
535 5.7.8 https://support.google.com/mail/?p=BadCredentials q5sm1241447ejc.117 - gsmtp
"
Однажды и у меня перестало отправлять письма адресату, из-за дополнительных средств защиты гугл. Долго рылся в сети в поисках решения и где-то нашел упоминание о создании пароля приложений. И наконец сработало. Что надо сделать:
Включить в аккаунте гугл Двухэтапную аутентификацию, затем создать пароль приложения, выбрав опцию "Почта" и "Другое", назвав как угодно.
Мне пришлось в коде заменить пароль от аккаунта, на созданный пароль приложений. В Yii приложении это было сделано в config -> web.php:
'mailer' => [
'class' => 'yii\swiftmailer\Mailer',
// send all mails to a file by default. You have to set
// 'useFileTransport' to false and configure a transport
// for the mailer to send real emails.
'useFileTransport' => false,
'transport' => [
'class' => 'Swift_SmtpTransport',
'host' => 'smtp.gmail.com',
'username' => 'мой ящик@gmail.com',
'password' => 'Новый пароль приложения от гугл',
'port' => '587',
'encryption' => 'tls',
'streamOptions' => [
'ssl' => [
'allow_self_signed' => true,
'verify_peer' => false,
'verify_peer_name' => false,
],
]
],
],
Добавить комментарий (через VK):