Отправка почты в log
Для теста будем записывать письма в log-файл, для этого редактируем файл .env
:
MAIL_MAILER=log
Эта настройка используется в файле конфигурации config/mail.php
, где можно задать с помощью какого mailer
будут отправляться письма:
config/mail.phpreturn [
// Почтовая программа по умолчанию
'default' => env('MAIL_MAILER', 'smtp'),
// Конфигурации почтовой программы
'mailers' => [
'smtp' => [
'transport' => 'smtp',
'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
'port' => env('MAIL_PORT', 587),
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
'timeout' => null,
'auth_mode' => null,
],
'ses' => [
'transport' => 'ses',
],
'mailgun' => [
'transport' => 'mailgun',
],
'postmark' => [
'transport' => 'postmark',
],
'sendmail' => [
'transport' => 'sendmail',
'path' => '/usr/sbin/sendmail -bs',
],
'log' => [
'transport' => 'log',
'channel' => env('MAIL_LOG_CHANNEL'),
],
'array' => [
'transport' => 'array',
],
],
// Глобальный адрес отправителя
'from' => [
'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),
'name' => env('MAIL_FROM_NAME', 'Example'),
],
// Настройки уцененной почты
'markdown' => [
'theme' => 'default',
'paths' => [
resource_path('views/vendor/mail'),
],
],
];
Теперь отправленные письма будут записываться в log-файл, где их можно посмотреть. log-файл находится по следующиму пути storage/logs/laravel.log
Отправка почты в отдельный файл log
Лучше создать для писем отдельный файл, для этого добавляем в .env
строку, где mailer
будет название канала наших логов для писем:
.envMAIL_LOG_CHANNEL=mailer
Далее в файле config/logging.php
нужно зарегистрировать этот канал, для этого в массив channels
нужно добавить свой элемент, где:
driver' => 'single'
указание того, что канал будет создаваться на базе одного файлаpath
путь куда будет сохраняться файл с содержимым отправленных писем
config/logging.php'channels' => [
…
'mailer' => [
'driver' => 'single',
'path' => storage_path('logs/mailer.log'),
],
],
После этого все письма будут сохраняться в storage\logs\mailer.log