Browse Source

#2954 use text/plain as default email content format

tags/v1.2.0-rc1
Unknwon 9 years ago
parent
commit
ede3242712
7 changed files with 259 additions and 251 deletions
  1. +1
    -1
      README.md
  2. +2
    -0
      conf/app.ini
  3. +1
    -1
      gogs.go
  4. +220
    -220
      modules/bindata/bindata.go
  5. +11
    -7
      modules/mailer/mailer.go
  6. +23
    -21
      modules/setting/setting.go
  7. +1
    -1
      templates/.VERSION

+ 1
- 1
README.md View File

@@ -3,7 +3,7 @@ Gogs - Go Git Service [![Build Status](https://travis-ci.org/gogits/gogs.svg?bra

![](https://github.com/gogits/gogs/blob/master/public/img/gogs-large-resize.png?raw=true)

##### Current version: 0.9.28
##### Current version: 0.9.29

| Web | UI | Preview |
|:-------------:|:-------:|:-------:|


+ 2
- 0
conf/app.ini View File

@@ -185,6 +185,8 @@ FROM =
; Mailer user name and password
USER =
PASSWD =
; Use text/html as alternative format of content
ENABLE_HTML_ALTERNATIVE = false

[cache]
; Either "memory", "redis", or "memcache", default is "memory"


+ 1
- 1
gogs.go View File

@@ -17,7 +17,7 @@ import (
"github.com/gogits/gogs/modules/setting"
)

const APP_VER = "0.9.28.0527"
const APP_VER = "0.9.29.0530"

func init() {
runtime.GOMAXPROCS(runtime.NumCPU())


+ 220
- 220
modules/bindata/bindata.go
File diff suppressed because it is too large
View File


+ 11
- 7
modules/mailer/mailer.go View File

@@ -14,11 +14,11 @@ import (
"strings"
"time"

"github.com/jaytaylor/html2text"
"gopkg.in/gomail.v2"

"github.com/gogits/gogs/modules/log"
"github.com/gogits/gogs/modules/setting"
"github.com/jaytaylor/html2text"
)

type Message struct {
@@ -27,20 +27,24 @@ type Message struct {
}

// NewMessageFrom creates new mail message object with custom From header.
func NewMessageFrom(to []string, from, subject, htmlbody string) *Message {
func NewMessageFrom(to []string, from, subject, htmlBody string) *Message {
msg := gomail.NewMessage()
msg.SetHeader("From", from)
msg.SetHeader("To", to...)
msg.SetHeader("Subject", subject)
msg.SetDateHeader("Date", time.Now())
body, err := html2text.FromString(htmlbody)

body, err := html2text.FromString(htmlBody)
if err != nil {
// TODO: report error ?
msg.SetBody("text/html", htmlbody)
log.Error(4, "html2text.FromString: %v", err)
msg.SetBody("text/html", htmlBody)
msg.AddAlternative("text/html", htmlBody)
} else {
msg.SetBody("text/plain", body)
// TODO: avoid this (use a configuration switch?)
msg.AddAlternative("text/html", htmlbody)
}

if setting.MailService.EnableHTMLAlternative {
msg.AddAlternative("text/html", htmlBody)
}

return &Message{


+ 23
- 21
modules/setting/setting.go View File

@@ -612,16 +612,17 @@ func newSessionService() {

// Mailer represents mail service.
type Mailer struct {
QueueLength int
Name string
Host string
From string
User, Passwd string
DisableHelo bool
HeloHostname string
SkipVerify bool
UseCertificate bool
CertFile, KeyFile string
QueueLength int
Name string
Host string
From string
User, Passwd string
DisableHelo bool
HeloHostname string
SkipVerify bool
UseCertificate bool
CertFile, KeyFile string
EnableHTMLAlternative bool
}

var (
@@ -636,17 +637,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(),
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(),
}
MailService.From = sec.Key("FROM").MustString(MailService.User)
log.Info("Mail Service Enabled")


+ 1
- 1
templates/.VERSION View File

@@ -1 +1 @@
0.9.28.0527
0.9.29.0530

Loading…
Cancel
Save