Enhance notification APIs with HTML email support, CC/BCC, and structured logging

Add comprehensive improvements across REST and gRPC APIs:
  - Add structured logging for all notification operations
  - Implement HTML email support with multipart/alternative MIME
  - Add CC and BCC recipient support for email notifications
  - Add GetNotifiers endpoint to query available notifier configurations
  - Support configurable From name in SMTP configuration
  - Auto-detect content type (text vs HTML) in notification bodies
  - Improve error handling and validation across all endpoints

  🤖 Generated with [Claude Code](https://claude.com/claude-code)

  Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-10-22 23:31:32 -07:00
parent 8229944149
commit 35b6c8aed3
12 changed files with 444 additions and 39 deletions
+8 -7
View File
@@ -268,13 +268,14 @@ func (c *Config) Sanitize() map[string]interface{} {
smtpAccounts := make(map[string]interface{})
for name, cfg := range c.Notifiers.SMTP {
smtpAccounts[name] = map[string]interface{}{
"host": cfg.Host,
"port": cfg.Port,
"username": cfg.Username,
"password": "***REDACTED***",
"from": cfg.From,
"use_tls": cfg.UseTLS,
"default": cfg.Default,
"host": cfg.Host,
"port": cfg.Port,
"username": cfg.Username,
"password": "***REDACTED***",
"from": cfg.From,
"from_name": cfg.FromName,
"use_tls": cfg.UseTLS,
"default": cfg.Default,
}
}
notifiers["smtp"] = smtpAccounts