Files
6f3f53c85a feat: group message support specify target (#121)
* feat: group message support specify target

* chore: remove text for customized descriptions like i18n

* fix: update priority

---------

Co-authored-by: JustSong <songquanpeng@foxmail.com>
2024-11-10 11:06:38 +08:00

36 lines
1005 B
Go

package channel
import (
"errors"
"fmt"
"message-pusher/common"
"message-pusher/model"
"strings"
)
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
}
if user.Email == "" {
return errors.New("未配置邮箱地址")
}
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)
}
var err error
message.HTMLContent, err = common.Markdown2HTML(content)
if err != nil {
common.SysLog(err.Error())
}
user.Email = strings.ReplaceAll(user.Email, "|", ";")
return common.SendEmail(subject, user.Email, message.HTMLContent)
}