Skip to content

Commit 20c1740

Browse files
committed
Fix sender of issue notifications
It is the FROM field in mailer configuration that needs be used, not the USER field, which is for authentication. Closes gogs#3615
1 parent 5c54243 commit 20c1740

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

Diff for: models/mail.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ func composeIssueMessage(issue *Issue, doer *User, tplName base.TplName, tos []s
160160
if err != nil {
161161
log.Error(3, "HTMLString (%s): %v", tplName, err)
162162
}
163-
msg := mailer.NewMessageFrom(tos, fmt.Sprintf(`"%s" <%s>`, doer.DisplayName(), setting.MailService.User), subject, content)
163+
msg := mailer.NewMessageFrom(tos, fmt.Sprintf(`"%s" <%s>`, doer.DisplayName(), setting.MailService.FromEmail), subject, content)
164164
msg.Info = fmt.Sprintf("Subject: %s, %s", subject, info)
165165
return msg
166166
}

Diff for: modules/setting/setting.go

+9
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ package setting
66

77
import (
88
"fmt"
9+
"net/mail"
910
"net/url"
1011
"os"
1112
"os/exec"
@@ -714,6 +715,7 @@ type Mailer struct {
714715
Name string
715716
Host string
716717
From string
718+
FromEmail string
717719
User, Passwd string
718720
DisableHelo bool
719721
HeloHostname string
@@ -749,6 +751,13 @@ func newMailService() {
749751
EnableHTMLAlternative: sec.Key("ENABLE_HTML_ALTERNATIVE").MustBool(),
750752
}
751753
MailService.From = sec.Key("FROM").MustString(MailService.User)
754+
755+
parsed, err := mail.ParseAddress(MailService.From)
756+
if err != nil {
757+
log.Fatal(4, "Invalid mailer.FROM (%s): %v", MailService.From, err)
758+
}
759+
MailService.FromEmail = parsed.Address
760+
752761
log.Info("Mail Service Enabled")
753762
}
754763

0 commit comments

Comments
 (0)