Files
message-pusher/channel/email.go
T

36 lines
1005 B
Go
Raw Normal View History

2022-11-11 17:24:03 +08:00
package channel
import (
"errors"
2023-05-09 16:40:05 +08:00
"fmt"
2022-11-11 17:24:03 +08:00
"message-pusher/common"
"message-pusher/model"
2023-05-13 15:35:23 +08:00
"strings"
2022-11-11 17:24:03 +08:00
)
func SendEmailMessage(message *model.Message, user *model.User, channel_ *model.Channel) error {
if message.To != "" {
if user.SendEmailToOthers != common.SendEmailToOthersAllowed && user.Role < common.RoleAdminUser {
return errors.New("没有权限发送邮件给其他人,请联系管理员为你添加该权限")
}
user.Email = message.To
}
2022-11-11 17:24:03 +08:00
if user.Email == "" {
return errors.New("未配置邮箱地址")
}
2023-05-09 16:40:05 +08:00
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)
2022-11-11 17:24:03 +08:00
}
2023-05-09 16:40:05 +08:00
var err error
message.HTMLContent, err = common.Markdown2HTML(content)
if err != nil {
common.SysLog(err.Error())
2022-11-22 09:54:37 +08:00
}
2023-05-13 15:35:23 +08:00
user.Email = strings.ReplaceAll(user.Email, "|", ";")
2022-11-22 09:50:50 +08:00
return common.SendEmail(subject, user.Email, message.HTMLContent)
2022-11-11 17:24:03 +08:00
}