email.go 807 B

12345678910111213141516171819202122232425262728293031
  1. package channel
  2. import (
  3. "errors"
  4. "message-pusher/common"
  5. "message-pusher/model"
  6. )
  7. func SendEmailMessage(message *model.Message, user *model.User) error {
  8. if message.To != "" {
  9. if user.SendEmailToOthers != common.SendEmailToOthersAllowed && user.Role < common.RoleAdminUser {
  10. return errors.New("没有权限发送邮件给其他人,请联系管理员为你添加该权限")
  11. }
  12. user.Email = message.To
  13. }
  14. if user.Email == "" {
  15. return errors.New("未配置邮箱地址")
  16. }
  17. subject := message.Description
  18. if subject == "" {
  19. subject = message.Title
  20. }
  21. if message.Content != "" {
  22. var err error
  23. message.HTMLContent, err = common.Markdown2HTML(message.Content)
  24. if err != nil {
  25. common.SysLog(err.Error())
  26. }
  27. }
  28. return common.SendEmail(subject, user.Email, message.HTMLContent)
  29. }