Skip to content

Три режима отправки почты ​

Во всех трёх режимах используется один и тот же SMTP, настроенный на странице «Почта». Различается способ выполнения автоматических писем, например подтверждения email или сброса пароля.

Сравнение режимов ​

ВозможностьСинхронныйАсинхронный (фон)Асинхронный с БД
Когда сайт отвечает игрокуПосле обращения к SMTPДо отправки письмаПосле сохранения задания в БД
Скорость ответа страницыНиже, зависит от SMTPОбычно высокаяОбычно высокая
Когда начнётся отправкаСразу в запросеСразу после ответа, если процесс запустилсяПо мере обработки очереди
Нагрузка на веб-запросВыше, ждёт почтовый серверМеньше ожидания; остаётся фоновый процесс на сервереНебольшая запись в БД; отправку делает отдельный обработчик
Письмо сохраняется для обработки после перезапускаНетНетДа, в таблице заданий
Автоматические повторы при сбое SMTPНетНетДа, с ограничением
Риск потерять неотправленное письмоПри ошибке попытка завершается сразуВыше, если фоновый процесс не выполнитсяНиже, пока доступны БД и обработчик; не нулевой
Постоянный workerНе нуженНе нуженНеобязателен, если запущен Scheduler
Cron / Laravel Scheduler для писемНе нуженНе нуженНужен, если нет постоянного worker
Подходит для массовой регистрацииПлохо: задерживает запросыЛучше, но нет надёжной очередиЛучше при настроенной обработке
Первый запускНастроить SMTPНастроить SMTP и пройти проверку режимаНастроить SMTP, Scheduler или worker и пройти проверку режима

Скорость и надёжность

Это качественное сравнение, а не гарантированное число писем в секунду. Фактическая скорость зависит от SMTP-провайдера, сети, хостинга и количества заданий. Ни один режим не гарантирует попадание письма во «Входящие».

Режим 1. Синхронный ​

Как работает: игрок запрашивает подтверждение адреса или восстановление пароля. KaevCMS подключается к SMTP во время этого запроса; пользователь ждёт завершения попытки.

Для запуска: достаточно настроить SMTP и отправить тестовое письмо. Никакие дополнительные фоновые службы для почты не нужны.

Плюсы: простейшая настройка, ошибка SMTP обнаруживается сразу. Минусы: медленный почтовый сервер тормозит ответ сайта; автоматического повторения и сохранённой очереди нет.

Когда выбрать: небольшой сайт с редкими письмами либо хостинг, где фоновые процессы недоступны.

Режим 2. Асинхронный (фоновый) ​

Как работает: KaevCMS завершает веб-запрос и запускает отправку в отдельном фоновом PHP-процессе (Laravel Background Queue).

Для запуска: настроенный SMTP и возможность хостинга запускать фоновые процессы. Выберите режим во вкладке «Доставка». При первом включении CMS сама запустит проверку возможности, и активирует режим только при успешном результате.

Плюсы: игрок получает ответ без ожидания SMTP, постоянный worker и cron для отправки не требуются. Минусы: задание не хранится в надёжной очереди. Если фоновый процесс не стартовал или сервер перезапустился, письмо может не уйти, автоматического повтора нет. Потребление ресурсов сервера не исчезает — просто переносится за пределы основного запроса.

Когда выбрать: если важна отзывчивость сайта, а очередь БД недоступна. Для критичных писем это компромисс.

Режим 3. Асинхронный с очередью в БД ​

Как работает: KaevCMS записывает задание в таблицу очереди; отдельный обработчик отправляет письмо через SMTP. Незавершённые задания могут переживать перезапуск сайта.

Для запуска: настроенный SMTP, доступная таблица очереди и хотя бы один рабочий способ обработки:

  • Обычный хостинг: настройте cron для php artisan schedule:run каждую минуту. Laravel Scheduler запускает встроенную обработку ожидающих заданий kaevcms:queue-drain. По умолчанию такой запуск ограничен бюджетом до 100 заданий и 50 секунд; это лимит работы, а не обещание доставить 100 писем.
  • VDS: можно использовать такой же cron или постоянный queue worker для более оперативной обработки. Инструкции: планировщик и worker. Если worker уже настроен, он должен обрабатывать очереди mail-probe,mail,default.

После подготовки откройте Почта → Доставка, выберите режим с БД и сохраните. CMS проверит, что тестовое задание действительно выполняется: без успешной проверки режим не включится.

Плюсы: письма не зависят от длительности веб-запроса; при временных ошибках SMTP запланированы повторные попытки. Минусы: нужна работающая очередь. Если cron/worker остановится, письма будут ждать, а не отправляться сами.

Когда выбрать: регистрация игроков, восстановление паролей, регулярная нагрузка. Это предпочтительный вариант при корректно настроенной инфраструктуре.

Что происходит при ошибке SMTP ​

В режиме с очередью БД KaevCMS предусматривает:

  • До 5 фактических ошибок в пределах приблизительно 30 минут.
  • Паузы между повторными попытками: 1, 3, 5 и 10 минут.
  • Тайм-аут ответа SMTP: 10 секунд.
  • При сетевой ошибке почтового сервера — общую паузу очереди писем на 60 секунд, которая сама по себе не расходует попытку каждого письма.

Если попытки закончились, задание переходит в список неудавшихся. Его можно повторить в Админка → Система → Очереди, после устранения причины. Для письма сброса пароля старый токен может стать недействительным; безопаснее запросить новую ссылку.

Важно

Очередь в БД снижает риск потери, но не даёт 100% гарантии. Нужны работающая БД, планировщик/worker и исправный SMTP. Кроме того, принятие письма SMTP не означает доставку в почтовый ящик адресата.

Проверка и диагностика ​

  1. Проверьте SMTP тестовым письмом во вкладке «Подключение».
  2. Во вкладке «Доставка» нажмите «Проверить режим». Проверка фонового режима и очереди не отправляет письмо; она подтверждает, что выбранный способ выполнения заданий работает.
  3. Если используете БД, откройте Система → Очереди: там видны ожидающие и неудавшиеся задания, состояние обработки и действие повтора. После смены SMTP-настроек постоянному worker может понадобиться перезапуск.
  4. Проверьте, что APP_URL совпадает с публичным адресом сайта. Иначе ссылки в письмах могут вести не туда.

Что не зависит от выбранного режима

Тест SMTP, тест шаблона и ручная отправка письма из админки выполняются напрямую. Выбор режима влияет на автоматические письма аккаунтов, а не на все способы отправки из административной панели.

Назад к настройке почты · Инструкция по установке на VDS

Независимый открытый проект. Lineage II — собственность правообладателей.