Для настройки отправки почты через локальный сервер 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).