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
|
|
|
)
|
|
|
|
|
|
2023-05-05 10:43:56 +08:00
|
|
|
func SendEmailMessage(message *model.Message, user *model.User, channel_ *model.Channel) error {
|
2023-04-16 11:23:05 +08:00
|
|
|
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 {
|
2024-11-10 11:06:38 +08:00
|
|
|
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
|
|
|
}
|