fix: use title as email's subject if given

This commit is contained in:
JustSong 2023-05-09 16:40:05 +08:00
parent 93b19b7fbc
commit fa166df5ac
2 changed files with 14 additions and 9 deletions

View File

@ -2,6 +2,7 @@ package channel
import (
"errors"
"fmt"
"message-pusher/common"
"message-pusher/model"
)
@ -16,16 +17,17 @@ func SendEmailMessage(message *model.Message, user *model.User, channel_ *model.
if user.Email == "" {
return errors.New("未配置邮箱地址")
}
subject := message.Description
if subject == "" {
subject = message.Title
subject := message.Title
content := message.Content
if subject == common.SystemName || subject == "" {
subject = message.Description
} else {
content = fmt.Sprintf("描述:%s\n\n%s", message.Description, message.Content)
}
if message.Content != "" {
var err error
message.HTMLContent, err = common.Markdown2HTML(message.Content)
message.HTMLContent, err = common.Markdown2HTML(content)
if err != nil {
common.SysLog(err.Error())
}
}
return common.SendEmail(subject, user.Email, message.HTMLContent)
}

View File

@ -144,6 +144,9 @@ func Max(a int, b int) int {
}
func Markdown2HTML(markdown string) (HTML string, err error) {
if markdown == "" {
return "", nil
}
var buf bytes.Buffer
err = goldmark.Convert([]byte(markdown), &buf)
if err != nil {