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

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

Старт! Честный VDS/VPS, на котором «Лунная База» живет уже 20+ лет

Задумываетесь о том, чтобы поднять свой pet-проект, сайт клиента или настроить окружение для разработки? Уже пора подумать, где арендовать железо.

Лунная База хостится на FirstVDS более 20 лет. Мыслей о том, чтобы перебраться на другой хостинг, не было ни разу (хотя опыт работы с другими вариантами, конечно, есть).

Бывали разные ситуации, но они бывают на любом железе. Главное, что нужно понять: здесь нет маркетинговой шелухи и сказок про «мы всё сделаем за вас». Если вы берете VDS — вам дают полный root, возможность накатить любую ОС и не лезут в ваши конфиги.

Если в саппорт написать с вопросом по вашему коду и получить ответ: «Читайте документацию и разбирайтесь сами» или «Обратитесь к профильному специалисту» — это не повод обижаться. Это повод углубить свои знания в DevOps и сайтостроении! Бегите от тех, кто пообещает: «Мы всё чиним и настраиваем абсолютно бесплатно!». Никто никогда не работает «по доброте душевной» в ущерб себе, а бесплатный сыр в администрировании обычно заканчивается сломанной базой данных.

Что по факту: Гибкое масштабирование ядер и RAM, экономия по сравнению с физическими серверами и адекватная панель ispmanager, если она вам нужна.



  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.

Самый честный хостинг за 20+ лет существования Лунной Базы

Задумываешься о том, чтобы поднять свой сайт в Интернете? Уже пора подумать о том, какой хостинг выбрать?

Лунная База хостится 20+ лет на firstDVS. При этом, мыслей о том, чтобы перебраться на другой хостинг не было. (Но, при этом есть опыт работы с другими вариантами.)

Бывали с firstDVS разные ситуации, но, они бывают на всех хостингах. Единственное, что тут важно понять, - это то, что никто ничего тебе не будет впаривать... Но, и работать за тебя тоже никто не станет. Если в саппорт ответили: «Читайте по ссылке и разбирайтесь сами...» или вообще «Обратитесь за помощью к специалисту», - это повод углубить свои знания в области сайтостроения, а не бежать к тем, что пообещают: «Мы всё чиним и всё делаем за своих клиентов абсолютно бесплатно!» Никто никогда ничего ни за кого "по доброте душевной" не делал, не делает и не будет делать!

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