Полный цикл в digital

Отправка почты в 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

Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!
Эйч Маркетинг