besnovatyj / yii2-cms-maillog
Модуль просмотра писем файлового транспорта (useFileTransport) для Yii2 CMS
Package info
github.com/besnovatyj/yii2-cms-maillog
Type:yii2-extension
pkg:composer/besnovatyj/yii2-cms-maillog
v1.0.1
2026-07-27 19:32 UTC
Requires
- php: >=8.4
- ext-mbstring: *
- besnovatyj/yii2-cms-backend-widgets: ^1.0
- besnovatyj/yii2-cms-contracts: ^1.0
- besnovatyj/yii2-cms-kernel: ^1.0
- yiisoft/yii2: ~2.0.0
- yiisoft/yii2-bootstrap5: ~2.0.0
Requires (Dev)
- roave/security-advisories: dev-latest
This package is auto-updated.
Last update: 2026-07-27 19:34:02 UTC
README
Модуль просмотра писем, которые Yii2 складывает в файлы при useFileTransport => true
(файловый транспорт мейлера). Только чтение, без внешних зависимостей — весь разбор .eml
выполняется средствами ядра PHP.
Возможности
- Список писем с пагинацией; новые сверху.
- Рекурсивный обход каталога: поддерживаются и плоская раскладка (
@runtime/mail/*.eml), и шардирование по подпапкам (@runtime/mail/Y-m-d/H/*.eml). - Разбор заголовков (unfolding, MIME-encoded-words в
Subject/From/To). - Декодирование тела:
quoted-printable,base64,7bit/8bit; любой charset → UTF-8. multipart/*(alternative/mixed/related) — извлекаютсяtext/plainиtext/html.- HTML-часть показывается в изолированном
sandbox-iframe с жёсткимContent-Security-Policy(скрипты и активные ресурсы отключены).
Про «шифр» вида =D0=A1=D1=82...: это не шифрование, а штатная кодировка Quoted-Printable,
снимается встроенной quoted_printable_decode().
Каталог писем
Путь берётся в следующем порядке приоритета:
- Настройка
modules.Maillog.params.path(модуль настроекyii2-cms-config) — абсолютный путь или Yii-алиас. - Если не задана — из конфигурации мейлера:
Yii::$app->mailer->fileTransportPath(по умолчанию@runtime/mail).
Чего модуль намеренно НЕ делает
- Не удаляет письма и не чистит каталог — этим занимается
yii2-cms-clear-manager. - Не отправляет письма — это просмотрщик уже сохранённых файлов.
Маршруты (backend)
Maillog/backend/mail/index— список.Maillog/backend/mail/view?id=<slug>— письмо.Maillog/backend/mail/html?id=<slug>— сырая HTML-часть для iframe (внутренний).