diff --git a/models/mail.go b/models/mail.go index 0db21355a8..85f1560b44 100644 --- a/models/mail.go +++ b/models/mail.go @@ -160,7 +160,7 @@ func composeIssueMessage(issue *Issue, doer *User, tplName base.TplName, tos []s if err != nil { log.Error(3, "HTMLString (%s): %v", tplName, err) } - msg := mailer.NewMessageFrom(tos, fmt.Sprintf(`"%s" <%s>`, doer.DisplayName(), setting.MailService.User), subject, content) + msg := mailer.NewMessageFrom(tos, fmt.Sprintf(`"%s" <%s>`, doer.DisplayName(), setting.MailService.FromEmail), subject, content) msg.Info = fmt.Sprintf("Subject: %s, %s", subject, info) return msg } diff --git a/modules/setting/setting.go b/modules/setting/setting.go index b3a932e91c..7696c09127 100644 --- a/modules/setting/setting.go +++ b/modules/setting/setting.go @@ -6,6 +6,7 @@ package setting import ( "fmt" + "net/mail" "net/url" "os" "os/exec" @@ -714,6 +715,7 @@ type Mailer struct { Name string Host string From string + FromEmail string User, Passwd string DisableHelo bool HeloHostname string @@ -749,6 +751,13 @@ func newMailService() { EnableHTMLAlternative: sec.Key("ENABLE_HTML_ALTERNATIVE").MustBool(), } MailService.From = sec.Key("FROM").MustString(MailService.User) + + parsed, err := mail.ParseAddress(MailService.From) + if err != nil { + log.Fatal(4, "Invalid mailer.FROM (%s): %v", MailService.From, err) + } + MailService.FromEmail = parsed.Address + log.Info("Mail Service Enabled") }