From 5b3c256a5ead24503978da2adec3846d6d70e0b8 Mon Sep 17 00:00:00 2001 From: Hein Date: Sun, 23 Aug 2026 11:31:43 +0200 Subject: [PATCH] fix(mail): add support for BCC in email sending --- config.example.yaml | 1 + server/internal/config/config.go | 1 + server/internal/mail/mail.go | 9 ++++++++- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/config.example.yaml b/config.example.yaml index 5e4bb55..c77252a 100644 --- a/config.example.yaml +++ b/config.example.yaml @@ -27,6 +27,7 @@ email: smtp_pass: "" from: "" to: "" # couple's inbox, receives RSVP + photo notifications + bcc: "" # optional; comma-separated list of extra blind-copy recipients upload: max_size_mb: 15 diff --git a/server/internal/config/config.go b/server/internal/config/config.go index aa63f7a..a44b513 100644 --- a/server/internal/config/config.go +++ b/server/internal/config/config.go @@ -53,6 +53,7 @@ type EmailConfig struct { SMTPPass string `yaml:"smtp_pass"` From string `yaml:"from"` To string `yaml:"to"` + Bcc string `yaml:"bcc"` // optional; comma-separated list of extra blind-copy recipients } type UploadConfig struct { diff --git a/server/internal/mail/mail.go b/server/internal/mail/mail.go index 135e253..32dee07 100644 --- a/server/internal/mail/mail.go +++ b/server/internal/mail/mail.go @@ -48,7 +48,14 @@ func (m *Mailer) send(subject, body string) error { m.cfg.From, m.cfg.To, subject, newMessageID(m.cfg.From), time.Now().Format(time.RFC1123Z), body, ) - return smtp.SendMail(addr, auth, m.cfg.From, []string{m.cfg.To}, []byte(msg)) + recipients := []string{m.cfg.To} + for _, bcc := range strings.Split(m.cfg.Bcc, ",") { + if bcc = strings.TrimSpace(bcc); bcc != "" { + recipients = append(recipients, bcc) + } + } + + return smtp.SendMail(addr, auth, m.cfg.From, recipients, []byte(msg)) } func (m *Mailer) SendRSVP(r store.RSVP) error {