From 5bd6ad68e6efe29a6d153ade8f9113973f9e42f5 Mon Sep 17 00:00:00 2001 From: tobi <31960611+tsmethurst@users.noreply.github.com> Date: Mon, 23 Sep 2024 16:07:13 +0200 Subject: [PATCH] [bugfix/email] Don't use plainAuth when no smtp username/password provided (#3332) * Do not use plainAuth when no user or password. Fixes #3320 * formatting --------- Co-authored-by: Yonas Yanfa --- internal/email/sender.go | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/internal/email/sender.go b/internal/email/sender.go index 9db918f8a..2bcc6086f 100644 --- a/internal/email/sender.go +++ b/internal/email/sender.go @@ -71,17 +71,26 @@ func NewSender() (Sender, error) { return nil, err } - username := config.GetSMTPUsername() - password := config.GetSMTPPassword() - host := config.GetSMTPHost() - port := config.GetSMTPPort() - from := config.GetSMTPFrom() - msgIDHost := config.GetHost() + var ( + username = config.GetSMTPUsername() + password = config.GetSMTPPassword() + host = config.GetSMTPHost() + port = config.GetSMTPPort() + from = config.GetSMTPFrom() + msgIDHost = config.GetHost() + smtpAuth smtp.Auth + ) + + if username == "" || password == "" { + smtpAuth = nil + } else { + smtpAuth = smtp.PlainAuth("", username, password, host) + } return &sender{ hostAddress: fmt.Sprintf("%s:%d", host, port), from: from, - auth: smtp.PlainAuth("", username, password, host), + auth: smtpAuth, msgIDHost: msgIDHost, template: t, }, nil