email.go 630 B

1234567891011121314151617181920212223242526272829
  1. package channel
  2. import (
  3. "bytes"
  4. "errors"
  5. "github.com/yuin/goldmark"
  6. "message-pusher/common"
  7. "message-pusher/model"
  8. )
  9. func SendEmailMessage(message *model.Message, user *model.User) error {
  10. if user.Email == "" {
  11. return errors.New("未配置邮箱地址")
  12. }
  13. subject := message.Description
  14. if subject == "" {
  15. subject = message.Title
  16. }
  17. if message.Content != "" {
  18. var buf bytes.Buffer
  19. err := goldmark.Convert([]byte(message.Content), &buf)
  20. if err != nil {
  21. common.SysLog(err.Error())
  22. } else {
  23. message.HTMLContent = buf.String()
  24. }
  25. }
  26. return common.SendEmail(subject, user.Email, message.HTMLContent)
  27. }