Как настроить Laravel и smtp Яндекс (почта для доменов)?

Имеются следующие следующие параметры:
MAIL_DRIVER=smtp
MAIL_HOST=smtp.yandex.ru
MAIL_PORT=465
MAIL_USERNAME=username@testdomain.ru
MAIL_PASSWORD=user_password
MAIL_ENCRYPTION=ssl


При попытке отправить сообщение возникает следующая ошибка:
503 5.5.4 Error: send AUTH command first.


Подозреваю что в Swiftmailer нужно передать еще параметр auth_mode = login.
Но как это сделать если в файле конфигурации Laravel данного параметра нет?
  • Вопрос задан
  • 10603 просмотра
Пригласить эксперта
Ответы на вопрос 6
@svazist
Fullstack developer
Необходимо в настройках аккаунта, на яндексе (Янекс Паспорт):
1. заполнить персональную информацию
2. В блоке "Пароли и авторизация" есть блок "Пароли приложений" и ссылка "Создать ещё один" - создать там новый пароль и его использовать в конфиге Laravel
Ответ написан
danleks
@danleks
Тоже долго мучался. А ответ выше не помог.

Решил на следующий день коренным образом.

Выпилил все Mail-настройки из .env

И вписал в config/mail.php следующее:

'driver' => env('MAIL_DRIVER', 'smtp'),
    'host' => env('MAIL_HOST', 'smtp.yandex.ru'),
    'port' => env('MAIL_PORT', 587),
    'from' => [
        'address' => 'user@yandex.ru',
        'name' => 'Type What You Want',
    ],
    'encryption' => env('MAIL_ENCRYPTION', 'tls'),
    'username' => env('MAIL_USERNAME', 'user@yandex.ru'),
    'password' => env('MAIL_PASSWORD', 'secretpass'),


Аналогичны настройки и для отправки с Gmail.
Ответ написан
wielski
@wielski
✔ Совет: Вам помогли? Отметьте ответы решением.
MAIL_PORT=465

Попробуй 587

MAIL_ENCRYPTION=ssl

Попробуй tls
Ответ написан
Комментировать
Shkuta85
@Shkuta85
Возникла такая же проблема. Вопрос был решен добавлением в .env следующих строк:
MAIL_FROM_ADDRESS=address_otpravitelya@exemple.com
MAIL_FROM_NAME=Имя_отправителя
Ответ написан
Комментировать
Та же проблема была. Решил как написано выше, привожу полный конфиг в .env файле:
MAIL_DRIVER=smtp
MAIL_HOST=smtp.yandex.ru
MAIL_PORT=587
MAIL_USERNAME=noreply@vacanc.ru
MAIL_PASSWORD=ПАРОЛЬ
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=noreply@vacanc.ru
MAIL_FROM_NAME=Vacanc

Затем в консоли команду
php artisan config:cache
И на всякий случай перезагрузил сервер... Хотя скорее всего не надо было.
Ответ написан
Комментировать
@nikorus
Спасибо ! А то забили весь гугл всякими умностями
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы