email: complain about invalid from address

This commit is contained in:
Harvey Tindall
2026-03-01 15:10:23 +00:00
parent 637cca0625
commit 60bf89bc02
2 changed files with 8 additions and 2 deletions

View File

@@ -88,6 +88,9 @@ func NewEmailer(config *Config, storage *Storage, logs LoggerSet) *Emailer {
config: config, config: config,
storage: storage, 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() method := emailer.config.Section("email").Key("method").String()
if method == "smtp" { if method == "smtp" {
enc := sMail.EncryptionSTARTTLS 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)) 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) 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 { if err != nil {
emailer.err.Printf(lm.FailedInitSMTP, err) emailer.err.Printf(lm.FailedInitMailer, lm.SMTP, err)
} }
} else if method == "mailgun" { } 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) emailer.NewMailgun(emailer.config.Section("mailgun").Key("api_url").String(), emailer.config.Section("mailgun").Key("api_key").String(), emailer.config.proxyTransport)

View File

@@ -256,8 +256,11 @@ const (
FailedGenerateDiscordInvite = "Failed to generate " + Discord + " invite: %v" FailedGenerateDiscordInvite = "Failed to generate " + Discord + " invite: %v"
// email.go // 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" FailedGeneratePWRLink = "Failed to generate PWR link: %v"
InvalidFromAddress = "invalid from address: \"%s\""
// housekeeping-d.go // housekeeping-d.go
hk = "Housekeeping: " hk = "Housekeeping: "