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 ......." и так далее.

Разрешения на доступ к небезопасным приложениям в аккаунте гугла дал. Что не так?

98   1  
  1. Гриня 2 месяца назад

    Блин, я тоже упарывался в такую штуку.

    Для себя я решил проблему так:

    1. Включил двухэтапную аутентификацию в Google ЗДЕСЬ

    2. Создал приложение (Приложение -> Почта, Устройство -> Другое) ЗДЕСЬ

        Нажал "Создать"

    3. Создал пароль приложения для использования у себя

    Мне это помогло, надеюсь и тебе поможет


Добавить ответ:
Отменить.