Конфиг mail в Laravel. Как настроить отправку почты через локальный сервер msmpt?

Для настройки отправки почты через локальный сервер SMTP в Laravel вам потребуется изменить конфигурационный файл mail.php.

Шаг 1: Откройте файл mail.php, который находится в директории config вашего проекта Laravel.

Шаг 2: Найдите секцию default и убедитесь, что она содержит значение smtp.

'default' => 'smtp',

Шаг 3: Далее необходимо настроить соответствующий драйвер для отправки почты по протоколу SMTP. В вашем случае, вы будете использовать драйвер smtp. Найдите секцию mailers и добавьте новый массив с настройками для вашего сервера SMTP.

'mailers' => [
    'smtp' => [
        'transport' => 'smtp',
        'host' => env('MAIL_HOST', 'localhost'), // адрес вашего локального SMTP сервера
        'port' => env('MAIL_PORT', 25), // порт вашего локального SMTP сервера
        'encryption' => env('MAIL_ENCRYPTION', 'tls'), // тип шифрования (опционально)
        'username' => env('MAIL_USERNAME', 'your_username'), // ваше имя пользователя для авторизации на сервере
        'password' => env('MAIL_PASSWORD', 'your_password'), // ваш пароль для авторизации на сервере
        'timeout' => null,
        'auth_mode' => null,
   ],
],

MAIL_HOST, MAIL_PORT, MAIL_ENCRYPTION, MAIL_USERNAME, MAIL_PASSWORD - это переменные окружения, которые вы можете задать в файле .env вашего проекта Laravel. Значение по умолчанию для этих переменных указывается во втором параметре функции env.

Вы также можете явно указать значения этих переменных в файле config/mail.php, но рекомендуется использовать переменные окружения для сохранения конфиденциальной информации вне репозитория.

Шаг 4: Если вы хотите настроить отправку почты для конкретного окружения, например, для рабочего окружения (production), вы можете сделать это, создав новый массив настроек в секции mailers:

'production' => [
    'transport' => 'smtp',
    'host' => 'smtp.example.com',
    'port' => 587,
    'encryption' => 'tls',
    'username' => 'your_username',
    'password' => 'your_password',
    'timeout' => null,
    'auth_mode' => null,
],

Шаг 5: После завершения настройки конфигурации, ваше приложение Laravel будет использовать указанный вами сервер SMTP для отправки электронной почты. Вы можете использовать класс Mail для создания и отправки писем в своем коде.

use IlluminateSupportFacadesMail;

Mail::to('[email protected]')->send(new WelcomeEmail());

В методе to применяется email-адрес получателя письма, а в методе send передается экземпляр класса, отвечающего за само письмо. В данном примере используется класс WelcomeEmail, который должен быть определен в вашем приложении и должен реализовывать интерфейс IlluminateContractsMailMailable.

Таким образом, предоставляя свои настройки для сервера SMTP в файле конфигурации, вы можете настроить Laravel для отправки почты через ваш локальный сервер SMTP (в данном случае, msmpt).