Как настроить Laravel для работы с SMTP сервером Яндекс Почты

Для тех, кто как и я не использует почтовый сервер у себя на сервере, приходится решать вопрос отправки почты через внешние сервисы бесплатных почтовых ящиков крупных провайдеров этой услуги таких, как, например, Яндекс или Google. У Яндекса, которым я предпочитаю пользоваться из-за удобства интерфейса, а не из-за патриотизма, почта очень просто подключается к доменному имени, (но об этом как-нибудь в другой раз).



  1. Заводим почту домена на Яндексе, привязанную к домену сайта
  2. .env — файл с основными настройками фреймворка Laravel для работы с Яндекс Почтой
  3. Файл mail.php с настройками Laravel для работы почтовых сервисов
  4. Обновляем кэш фреймворка Laravel

В этой статье рассмотрим, какие настройки нужно сделать для того, чтобы «слать мыло», используя почтовый ящик, привязанный к аккаунту того сайта, с которого было решено его использовать.

1. Заводим почту домена на Яндексе, привязанную к домену сайта

Внимание!
Просто бесплатный почтовый ящик Яндекса можно конечно попробовать подцепить, но не факт, что он будет исправно работать.
Разработчики Яндекса вроде как подстраховались, и не особо горят желанием раздавать бесплатные мощности своих серверов для рассылки спама всем желающим. Так что, если очень хочется, но что-то не получается, заведите себе ящик на своём доменном имени. Вероятность, что после этого всё заработает, достаточно большая. ;)

Итак, имея почтовый ящик на собственном домене типа admin@mydomain.ru который привязан к Яндексу, нужно внести настройки в два файла Laravel:

2. .env — файл с основными настройками фреймворка Laravel для работы с Яндекс Почтой

Ищем и прописываем свои данные:

MAIL_MAILER=smtp
MAIL_HOST=smtp.yandex.ru
MAIL_PORT=465
MAIL_USERNAME=ТУТ_ЛОГИН_В_ВИДЕ__admin@mydomain.ru
MAIL_PASSWORD=ТУТ_ПАРОЛЬ_ОТ_ЯЩИКА
MAIL_ENCRYPTION=ssl
MAIL_FROM_ADDRESS=ТУТ_ЕЩЁ_РАЗ_ЛОГИН_В_ВИДЕ__admin@mydomain.ru
MAIL_FROM_NAME="Тут какое-то название"

Файл .env находится в корне проекта Laravel (для тех, кто не понимает, где его искать)

3. Файл mail.php с настройками Laravel для работы почтовых сервисов

Файл mail.php находится в папке config — там его ищите ;)

Ищем блок с информацией о конфигурации SMTP-соединения и прописываем свои данные:

    'mailers' => [
        'smtp' => [
            'transport' => 'smtp',
            'host' => env('MAIL_HOST', 'smtp.yandex.ru'),
            'port' => env('MAIL_PORT', 465),
            'encryption' => env('MAIL_ENCRYPTION', 'ssl'),
            'username' => env('MAIL_USERNAME'),
            'password' => env('MAIL_PASSWORD'),
            'timeout' => null,
            'auth_mode' => null,
        ],

Как видно, основные данные SMTP соединения данной секции формируются из констант, которые мы уже прописали в основном файле настроек .env.

4. Обновляем кэш фреймворка Laravel

После того, как всё настроено, обязательно обновите кэш фреймворка с помощью команды:

php artisan config:cache

У меня после этих манипуляций почта начала прилетать на почту домена, привязанную к Яндексу. Чего и вам желаю. =)

P.S. Сейчас у меня установлена актуальная рабочая версия: Laravel Framework 8.10.0.

Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)

Старт! Горячий старт на просторы интернета
Старт! Горячий старт на просторы интернета
Старт! Меню