diff --git a/config/config.json b/config/config.json index e7134cba56..f1f3ba22c8 100644 --- a/config/config.json +++ b/config/config.json @@ -73,7 +73,8 @@ "SMTPUsername": "", "SMTPPassword": "", "SMTPServer": "", - "UseTLS": false, + "UseTLS": false, + "UseStartTLS": false, "FeedbackEmail": "", "FeedbackName": "", "ApplePushServer": "", diff --git a/docker/0.6/config_docker.json b/docker/0.6/config_docker.json index 128dc12742..157120b998 100644 --- a/docker/0.6/config_docker.json +++ b/docker/0.6/config_docker.json @@ -64,6 +64,7 @@ "SMTPPassword": "", "SMTPServer": "", "UseTLS": false, + "UseStartTLS": false, "FeedbackEmail": "", "FeedbackName": "", "ApplePushServer": "", diff --git a/docker/dev/config_docker.json b/docker/dev/config_docker.json index cd612c7fe0..d336300caf 100644 --- a/docker/dev/config_docker.json +++ b/docker/dev/config_docker.json @@ -64,6 +64,7 @@ "SMTPPassword": "", "SMTPServer": "", "UseTLS": false, + "UseStartTLS": false, "FeedbackEmail": "", "FeedbackName": "", "ApplePushServer": "", diff --git a/docker/local/config_docker.json b/docker/local/config_docker.json index cd612c7fe0..d336300caf 100644 --- a/docker/local/config_docker.json +++ b/docker/local/config_docker.json @@ -64,6 +64,7 @@ "SMTPPassword": "", "SMTPServer": "", "UseTLS": false, + "UseStartTLS": false, "FeedbackEmail": "", "FeedbackName": "", "ApplePushServer": "", diff --git a/utils/config.go b/utils/config.go index a3944f6708..536d0d802f 100644 --- a/utils/config.go +++ b/utils/config.go @@ -85,6 +85,7 @@ type EmailSettings struct { SMTPPassword string SMTPServer string UseTLS bool + UseStartTLS bool FeedbackEmail string FeedbackName string ApplePushServer string diff --git a/utils/mail.go b/utils/mail.go index d152b26693..f02e21253e 100644 --- a/utils/mail.go +++ b/utils/mail.go @@ -73,6 +73,12 @@ func newSMTPClient(conn net.Conn) (*smtp.Client, *model.AppError) { if err = c.Auth(auth); err != nil { return nil, model.NewAppError("SendMail", "Failed to authenticate on SMTP server", err.Error()) } + } else if Cfg.EmailSettings.UseStartTLS { + tlsconfig := &tls.Config{ + InsecureSkipVerify: true, + ServerName: host, + } + c.StartTLS(tlsconfig) } return c, nil }