diff options
author | Harrison Healey <harrisonmhealey@gmail.com> | 2017-05-19 16:57:36 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-05-19 16:57:36 -0400 |
commit | 9eb9c115de3a70e26ebacc528a6e50e21e06e9c3 (patch) | |
tree | 32957199d18cb72fedb1983bc24e4b054a69e21c /utils | |
parent | 04cd7b1a89f63f10265e0dcfc95b6f67f164cf75 (diff) | |
download | chat-9eb9c115de3a70e26ebacc528a6e50e21e06e9c3.tar.gz chat-9eb9c115de3a70e26ebacc528a6e50e21e06e9c3.tar.bz2 chat-9eb9c115de3a70e26ebacc528a6e50e21e06e9c3.zip |
Move SMTP HELO before authentication (#6464)
Diffstat (limited to 'utils')
-rw-r--r-- | utils/mail.go | 18 | ||||
-rw-r--r-- | utils/utils.go | 2 |
2 files changed, 10 insertions, 10 deletions
diff --git a/utils/mail.go b/utils/mail.go index bfa8f208a..4b3102424 100644 --- a/utils/mail.go +++ b/utils/mail.go @@ -50,6 +50,15 @@ func newSMTPClient(conn net.Conn, config *model.Config) (*smtp.Client, *model.Ap return nil, model.NewLocAppError("SendMail", "utils.mail.connect_smtp.open_tls.app_error", nil, err.Error()) } + hostname := GetHostnameFromSiteURL(*config.ServiceSettings.SiteURL) + if hostname != "" { + err := c.Hello(hostname) + if err != nil { + l4g.Error(T("utils.mail.new_client.helo.error"), err) + return nil, model.NewLocAppError("SendMail", "utils.mail.connect_smtp.helo.app_error", nil, err.Error()) + } + } + auth := smtp.PlainAuth("", config.EmailSettings.SMTPUsername, config.EmailSettings.SMTPPassword, config.EmailSettings.SMTPServer+":"+config.EmailSettings.SMTPPort) if config.EmailSettings.ConnectionSecurity == model.CONN_SECURITY_TLS { if err = c.Auth(auth); err != nil { @@ -136,15 +145,6 @@ func SendMailUsingConfig(to, subject, body string, config *model.Config) *model. defer c.Quit() defer c.Close() - siteName := GetSiteName(*config.ServiceSettings.SiteURL) - if siteName != "" { - err := c.Hello(siteName) - if err != nil { - l4g.Error(T("utils.mail.new_client.helo.error"), err) - return model.NewLocAppError("SendMail", "utils.mail.connect_smtp.helo.app_error", nil, err.Error()) - } - } - if err := c.Mail(fromMail.Address); err != nil { return model.NewLocAppError("SendMail", "utils.mail.send_mail.from_address.app_error", nil, err.Error()) } diff --git a/utils/utils.go b/utils/utils.go index d158f540f..89ea4377e 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -68,7 +68,7 @@ func GetIpAddress(r *http.Request) string { return address } -func GetSiteName(siteURL string) string { +func GetHostnameFromSiteURL(siteURL string) string { u, err := url.Parse(siteURL) if err != nil { return "" |