Ver Fonte

mailer: make text/html as default format

Change config option from '[mailer] ENABLE_HTML_ALTERNATIVE' to '[mailer] USE_PLAIN_TEXT'
Unknwon há 7 anos atrás
pai
commit
c7a8051a71

+ 1 - 0
.github/ISSUE_TEMPLATE.md

@@ -13,6 +13,7 @@ The issue will be closed without any reasons if it does not satisfy any of follo
 - Database (use `[x]`):
   - [ ] PostgreSQL
   - [ ] MySQL
+  - [ ] MSSQL
   - [ ] SQLite
 - Can you reproduce the bug at https://try.gogs.io:
   - [ ] Yes (provide example URL)

+ 2 - 2
conf/app.ini

@@ -218,8 +218,8 @@ FROM =
 ; Mailer user name and password
 USER =
 PASSWD =
-; Use text/html as alternative format of content
-ENABLE_HTML_ALTERNATIVE = false
+; Use text/plain as format of content
+USE_PLAIN_TEXT = false
 
 [cache]
 ; Either "memory", "redis", or "memcache", default is "memory"

Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 0
modules/bindata/bindata.go


+ 10 - 8
modules/mailer/mailer.go

@@ -36,16 +36,18 @@ func NewMessageFrom(to []string, from, subject, htmlBody string) *Message {
 	msg.SetHeader("Subject", subject)
 	msg.SetDateHeader("Date", time.Now())
 
-	body, err := html2text.FromString(htmlBody)
-	if err != nil {
-		log.Error(4, "html2text.FromString: %v", err)
-		msg.SetBody("text/html", htmlBody)
-	} else {
-		msg.SetBody("text/plain", body)
-		if setting.MailService.EnableHTMLAlternative {
-			msg.AddAlternative("text/html", htmlBody)
+	contentType := "text/html"
+	body := htmlBody
+	if setting.MailService.UsePlainText {
+		plainBody, err := html2text.FromString(htmlBody)
+		if err != nil {
+			log.Error(2, "html2text.FromString: %v", err)
+		} else {
+			contentType = "text/plain"
+			body = plainBody
 		}
 	}
+	msg.SetBody(contentType, body)
 
 	return &Message{
 		Message: msg,

+ 24 - 24
modules/setting/setting.go

@@ -751,18 +751,18 @@ func newSessionService() {
 
 // Mailer represents mail service.
 type Mailer struct {
-	QueueLength           int
-	Name                  string
-	Host                  string
-	From                  string
-	FromEmail             string
-	User, Passwd          string
-	DisableHelo           bool
-	HeloHostname          string
-	SkipVerify            bool
-	UseCertificate        bool
-	CertFile, KeyFile     string
-	EnableHTMLAlternative bool
+	QueueLength       int
+	Subject           string
+	Host              string
+	From              string
+	FromEmail         string
+	User, Passwd      string
+	DisableHelo       bool
+	HeloHostname      string
+	SkipVerify        bool
+	UseCertificate    bool
+	CertFile, KeyFile string
+	UsePlainText      bool
 }
 
 var (
@@ -777,18 +777,18 @@ func newMailService() {
 	}
 
 	MailService = &Mailer{
-		QueueLength:           sec.Key("SEND_BUFFER_LEN").MustInt(100),
-		Name:                  sec.Key("NAME").MustString(AppName),
-		Host:                  sec.Key("HOST").String(),
-		User:                  sec.Key("USER").String(),
-		Passwd:                sec.Key("PASSWD").String(),
-		DisableHelo:           sec.Key("DISABLE_HELO").MustBool(),
-		HeloHostname:          sec.Key("HELO_HOSTNAME").String(),
-		SkipVerify:            sec.Key("SKIP_VERIFY").MustBool(),
-		UseCertificate:        sec.Key("USE_CERTIFICATE").MustBool(),
-		CertFile:              sec.Key("CERT_FILE").String(),
-		KeyFile:               sec.Key("KEY_FILE").String(),
-		EnableHTMLAlternative: sec.Key("ENABLE_HTML_ALTERNATIVE").MustBool(),
+		QueueLength:    sec.Key("SEND_BUFFER_LEN").MustInt(100),
+		Subject:        sec.Key("SUBJECT").MustString(AppName),
+		Host:           sec.Key("HOST").String(),
+		User:           sec.Key("USER").String(),
+		Passwd:         sec.Key("PASSWD").String(),
+		DisableHelo:    sec.Key("DISABLE_HELO").MustBool(),
+		HeloHostname:   sec.Key("HELO_HOSTNAME").String(),
+		SkipVerify:     sec.Key("SKIP_VERIFY").MustBool(),
+		UseCertificate: sec.Key("USE_CERTIFICATE").MustBool(),
+		CertFile:       sec.Key("CERT_FILE").String(),
+		KeyFile:        sec.Key("KEY_FILE").String(),
+		UsePlainText:   sec.Key("USE_PLAIN_TEXT").MustBool(),
 	}
 	MailService.From = sec.Key("FROM").MustString(MailService.User)
 

Alguns ficheiros não foram mostrados porque muitos ficheiros mudaram neste diff