Задать вопрос

Как использовать smtp.yandex.ru в laravel?

Добрый день. Подскажите, что я делаю не так. Пытаюсь настроить smtp yandex в проекте laravel, но получаю ответ

"Swift_TransportException in AbstractSmtpTransport.php line 383:
Expected response code 250 but got code "530", with message "530 5.7.1 Authentication required
"

Файл настроек .env

MAIL_DRIVER=smtp
MAIL_HOST=smtp.yandex.ru
MAIL_PORT=465
MAIL_USERNAME={login}
MAIL_PASSWORD={password}
MAIL_ENCRYPTION=ssl


Файл app/config/mail.php

return [

    'driver' => env('MAIL_DRIVER', 'smtp'),
    'host' => env('MAIL_HOST', 'smtp.yandex.ru'),
    'port' => env('MAIL_PORT', 465),
    'from' => ['address' => "{myAddress}", 'name' => "{From}"],
    'encryption' => env('MAIL_ENCRYPTION', 'ssl'),
    'username' => env('MAIL_USERNAME',),
    'password' => env('MAIL_PASSWORD'),
    'sendmail' => '/usr/sbin/sendmail -bs',
    'pretend' => false,

];
  • Вопрос задан
  • 26743 просмотра
Подписаться 8 Оценить 3 комментария
Пригласить эксперта
Ответы на вопрос 6
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.
Ответ написан
Та же проблема была. Привожу полный конфиг в .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
И на всякий случай перезагрузил сервер... Хотя скорее всего не надо было.
Ответ написан
Комментировать
ImproveAl
@ImproveAl
Была у меня ошибка
Authenticator LOGIN returned Swift_TransportException: Expected response code 235 but got code "535", with message "535 5.7.8 Error: authentication failed: Please accept EULA first.


Вся проблема была, в том что не вошла в свежесозданный почтовый ящик (не завершила регистрацию).
Ответ написан
Комментировать
Vadiok
@Vadiok
Веб разработчик
Логин забивает в виде "ваш_логин@yandex.ru" или просто "ваш_логин"? Правильно с "@yandex.ru"
Ответ написан
UksusoFF
@UksusoFF
Оказывается теперь Яндекс еще может не отправлять письма с "подозрительных" аккаунтов.
Пол дня промучился с настройкой, в итоге написал в саппорт, на что получил ответ:

Данная проблема вызвана тем, что регистрация Вашего логина показалась подозрительной нашей системе безопасности.

Чтобы устранить проблему с отправкой и получением писем, необходимо указать на странице https://passport.yandex.ru/passport?mode=passport достоверные персональные данные. Там же необходимо будет привязать мобильный телефон (ссылка «номера телефонов»), если Вы этого еще не сделали и, в случае, если появляется запрос капчи (контрольных символов), ввести ее. После этого блокировка снимется автоматически.

Обратите внимание, что для снятия блокировки потребуется несколько часов - за это время система должна получить и запомнить внесённые Вами изменения.
Ответ написан
Комментировать
Izek_it
@Izek_it
Developer
Ребята закройте эту тему решается просто, уберите приставку smtp.

MAIL_MAILER=smtp
MAIL_HOST=yandex.ru
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы