mail.go 838 B

123456789101112131415161718192021222324252627
  1. package utility
  2. import (
  3. "app.yhyue.com/moapp/jybase/mail"
  4. "context"
  5. "fmt"
  6. "github.com/gogf/gf/v2/frame/g"
  7. "time"
  8. )
  9. // SendRetryMailMany 发送邮件 收件人多个使用英文逗号分割
  10. func SendRetryMailMany(ctx context.Context, retry int, user_mail, subject, content, fname string, rename string, auth []*mail.GmailAuth) bool {
  11. for i := 1; i <= retry; i++ {
  12. for _, v := range auth { //使用多个邮箱尝试发送
  13. if mail.GSendMail_q("剑鱼标讯", user_mail, "", "", subject, content, fname, rename, v) {
  14. return true
  15. }
  16. t := time.Duration(i) * 30 * time.Second
  17. g.Log().Errorf(ctx, user_mail, fmt.Sprintf("第%d轮,使用%s发送邮件失败!%v后重试", i, v.User, t))
  18. time.Sleep(t)
  19. }
  20. if i == retry {
  21. g.Log().Error(ctx, user_mail, fmt.Sprintf("发送邮件失败"))
  22. }
  23. }
  24. return false
  25. }