base.go 738 B

12345678910111213141516171819202122232425262728
  1. package hooks
  2. import (
  3. "pmail/dto"
  4. "pmail/dto/parsemail"
  5. "pmail/hooks/wechat_push"
  6. )
  7. type EmailHook interface {
  8. // SendBefore 邮件发送前的数据
  9. SendBefore(ctx *dto.Context, email *parsemail.Email)
  10. // SendAfter 邮件发送后的数据,err是每个收信服务器的错误信息
  11. SendAfter(ctx *dto.Context, email *parsemail.Email, err map[string]error)
  12. // ReceiveParseBefore 接收到邮件,解析之前的原始数据
  13. ReceiveParseBefore(email []byte)
  14. // ReceiveParseAfter 接收到邮件,解析之后的结构化数据
  15. ReceiveParseAfter(email *parsemail.Email)
  16. }
  17. // HookList
  18. var HookList []EmailHook
  19. // Init 这里注册hook对象
  20. func Init() {
  21. HookList = []EmailHook{
  22. wechat_push.NewWechatPushHook(),
  23. }
  24. }