From 60bf89bc026f374d4c8b623b9c311eb139ee7352 Mon Sep 17 00:00:00 2001 From: Harvey Tindall Date: Sun, 1 Mar 2026 15:10:23 +0000 Subject: [PATCH] email: complain about invalid from address --- email.go | 5 ++++- logmessages/logmessages.go | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/email.go b/email.go index 3be75d5..ac3ae56 100644 --- a/email.go +++ b/email.go @@ -88,6 +88,9 @@ func NewEmailer(config *Config, storage *Storage, logs LoggerSet) *Emailer { config: config, storage: storage, } + if !strings.Contains(emailer.fromAddr, "@") { + emailer.err.Printf(lm.FailedInitMailer, "", fmt.Errorf(lm.InvalidFromAddress, emailer.fromAddr)) + } method := emailer.config.Section("email").Key("method").String() if method == "smtp" { enc := sMail.EncryptionSTARTTLS @@ -107,7 +110,7 @@ func NewEmailer(config *Config, storage *Storage, logs LoggerSet) *Emailer { authType := sMail.AuthType(emailer.config.Section("smtp").Key("auth_type").MustInt(4)) err := emailer.NewSMTP(emailer.config.Section("smtp").Key("server").String(), emailer.config.Section("smtp").Key("port").MustInt(465), username, password, enc, emailer.config.Section("smtp").Key("ssl_cert").MustString(""), emailer.config.Section("smtp").Key("hello_hostname").String(), emailer.config.Section("smtp").Key("cert_validation").MustBool(true), authType, emailer.config.proxyConfig) if err != nil { - emailer.err.Printf(lm.FailedInitSMTP, err) + emailer.err.Printf(lm.FailedInitMailer, lm.SMTP, err) } } else if method == "mailgun" { emailer.NewMailgun(emailer.config.Section("mailgun").Key("api_url").String(), emailer.config.Section("mailgun").Key("api_key").String(), emailer.config.proxyTransport) diff --git a/logmessages/logmessages.go b/logmessages/logmessages.go index 6aea578..76e3502 100644 --- a/logmessages/logmessages.go +++ b/logmessages/logmessages.go @@ -256,8 +256,11 @@ const ( FailedGenerateDiscordInvite = "Failed to generate " + Discord + " invite: %v" // email.go - FailedInitSMTP = "Failed to initialize SMTP mailer: %v" + SMTP = "SMTP" + Mailgun = "Mailgun" + FailedInitMailer = "Failed to initalize %s mailer: %v" FailedGeneratePWRLink = "Failed to generate PWR link: %v" + InvalidFromAddress = "invalid from address: \"%s\"" // housekeeping-d.go hk = "Housekeeping: "