sendMail.go 811 B

123456789101112131415161718192021222324252627282930
  1. package util
  2. import (
  3. "app.yhyue.com/moapp/MessageCenter/entity"
  4. "app.yhyue.com/moapp/jybase/mail"
  5. "fmt"
  6. "log"
  7. "time"
  8. )
  9. func SendRetryMail(retry int, toMails, ccMails, subject, content string, auth []*mail.GmailAuth) bool {
  10. allMail := toMails
  11. if ccMails != "" {
  12. allMail = fmt.Sprintf("%s|%s", toMails, ccMails)
  13. }
  14. for i := 1; i <= retry; i++ {
  15. for _, v := range auth { //使用多个邮箱尝试发送
  16. if mail.GSendMail_q("剑鱼标讯", allMail, "", "", subject, content, "", "", entity.GmailAuth[0]) {
  17. return true
  18. }
  19. t := time.Duration(i) * 30 * time.Second
  20. log.Println(allMail, fmt.Sprintf("第%d轮,使用%s发送邮件失败!%v后重试", i, v.User, t))
  21. time.Sleep(t)
  22. }
  23. if i == retry {
  24. log.Println(allMail, fmt.Sprintf("发送邮件失败"))
  25. }
  26. }
  27. return false
  28. }