Yii2 отправка писем через SMTP сервер gmail
Привет всем. Настраиваю отправку почты для восстановления пароля на Yii2 advanced. Делаю так, пошагово:
1. Чтобы отправлять email письма с существующего почтового аккаунта google при использовании php фреймворка Yii2, скорректировал конфигурационный файл /frontend/config/main.php следующим образом:
$config = [
'id' => 'basic',
'name' => 'My Site Name',
'basePath' => dirname(__DIR__),
'bootstrap' => ['log'],
'language' => 'ru-RU',
'components' => [
//...
'mailer' => [
'class' => 'yii\swiftmailer\Mailer',
'useFileTransport' => false,
'transport' => [
'class' => 'Swift_SmtpTransport',
'host' => 'smtp.gmail.com', // SMTP сервер почтовика
'username' => '<username>@gmail.com', // Логин (адрес электронной почты)
'password' => '<password>', // Пароль
'port' => '587', // Порт
'encryption' => 'tls', // Шифрование
],
],
//...
],
];
2. Код отправки, примерно в таком формате:
return Yii::$app
->mailer
->compose(
['html' => 'passwordResetToken-html', 'text' => 'passwordResetToken-text'],
['user' => $user]
)
->setFrom([Yii::$app->params['supportEmail'] => Yii::$app->name . ' robot'])
->setTo($this->email)
->setSubject('Password reset for ' . Yii::$app->name)
->send();
После отправки получаю ошибку такого вида: "Expected response code 250 but got code “535”, with message "535-5.7.8 Username and Password not accepted ......." и так далее.
Разрешения на доступ к небезопасным приложениям в аккаунте гугла дал. Что не так?
Comments
<p>Для себя я решил проблему так:</p>
<p>1. Включил <strong>двухэтапную аутентификацию</strong> в Google <a href="https://www.google.com/landing/2step/" style="padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;line-height:inherit;font-family:inherit;font-size:15px;vertical-align:baseline;text-decoration:underline;">ЗДЕСЬ</a></p>
<p>2. Создал приложение (Приложение -> Почта, Устройство -> Другое) <a href="https://security.google.com/settings/security/apppasswords" style="padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;line-height:inherit;font-family:inherit;font-size:15px;vertical-align:baseline;text-decoration:underline;">ЗДЕСЬ</a></p>
<p> Нажал "Создать"</p>
<p>3. Создал пароль приложения для использования у себя</p>
<p>Мне это помогло, надеюсь и тебе поможет</p>