feat: add HTML email body for --send (#48)
Add email.html config flag (default false). When enabled, --send includes an HTML version of the report body generated via HTMLFormatter alongside the plain-text part in a multipart/alternative message. - EmailConfig gains html: bool field - mailer.build_message/send_report accept rows for HTML generation - CLI passes rows to send_report - --init-config generates email.html: false - README.md and docs/CONFIG.md updated Bump version to 1.10.0. Closes #48
This commit is contained in:
@@ -21,6 +21,7 @@ CLI-инструмент для генерации отчётов по зада
|
||||
- Умное разрешение `--output`: bare-формат (`xlsx`) → путь по шаблону, без расширения → автодописывание.
|
||||
- `--commit`: автосохранение отчёта в файл + фиксация периода в YAML-конфиге для следующего запуска.
|
||||
- `--send`: отправка отчёта по email через SMTP сразу после генерации.
|
||||
- HTML-версия тела письма при `--send`, если включено в YAML-конфиге (`email.html: true`).
|
||||
- Понятные сообщения об ошибках Redmine API, SMTP и файловой системы.
|
||||
- Загрузка альтернативного `.env` через `--config`.
|
||||
|
||||
@@ -84,6 +85,7 @@ report:
|
||||
no_time: false
|
||||
|
||||
email:
|
||||
html: false
|
||||
smtp:
|
||||
host: smtp.example.com
|
||||
port: 587
|
||||
@@ -213,6 +215,13 @@ redmine-reporter --date 2026-06-01--2026-06-30 --output ~/report.xlsx --send
|
||||
redmine-reporter --date 2026-06-01--2026-06-30 --send --commit
|
||||
```
|
||||
|
||||
Если в секции `email` установить `html: true`, письмо будет отправлено в двух версиях: plain-text и HTML (таблица отчёта прямо в теле письма). Файл отчёта всё равно прикрепляется, если `attach: true`.
|
||||
|
||||
```yaml
|
||||
email:
|
||||
html: true
|
||||
```
|
||||
|
||||
Если секция `email` не настроена — ошибка с пояснением. При ошибке SMTP файл отчёта остаётся на диске, данные не теряются. Поддерживаются `to`, `cc`, `bcc`, TLS, отключение вложения (`attach: false`).
|
||||
|
||||
### Фиксация периода (`--commit`)
|
||||
|
||||
Reference in New Issue
Block a user