summaryrefslogtreecommitdiffstats
path: root/utils
diff options
context:
space:
mode:
authorHarrison Healey <harrisonmhealey@gmail.com>2017-05-19 16:57:36 -0400
committerGitHub <noreply@github.com>2017-05-19 16:57:36 -0400
commit9eb9c115de3a70e26ebacc528a6e50e21e06e9c3 (patch)
tree32957199d18cb72fedb1983bc24e4b054a69e21c /utils
parent04cd7b1a89f63f10265e0dcfc95b6f67f164cf75 (diff)
downloadchat-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.go18
-rw-r--r--utils/utils.go2
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 ""