email.go 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. package utils
  2. import (
  3. "fmt"
  4. "gopkg.in/gomail.v2"
  5. "mime"
  6. "strings"
  7. )
  8. //发送邮件
  9. func SendEmail(title, content string, touser string)bool {
  10. var arr []string
  11. sub := strings.Index(touser, ";")
  12. if sub >= 0 {
  13. spArr := strings.Split(touser, ";")
  14. for _, v := range spArr {
  15. arr = append(arr, v)
  16. }
  17. }else{
  18. arr = append(arr, touser)
  19. }
  20. m := gomail.NewMessage()
  21. m.SetHeader("From", "317699326@qq.com ")
  22. m.SetHeader("To", arr...)
  23. m.SetHeader("Subject", title+" "+GetRandString(16))
  24. m.SetBody("text/html", content)
  25. d := gomail.NewDialer("smtp.qq.com", 587, "317699326@qq.com", "oqdypwfcvruwcbea")
  26. if err := d.DialAndSend(m); err != nil {
  27. return false
  28. }
  29. return true
  30. }
  31. //发送邮件
  32. func SendEmailByHongze(title, content string, touser,attachPath,attachName string)bool {
  33. var arr []string
  34. sub := strings.Index(touser, ";")
  35. if sub >= 0 {
  36. spArr := strings.Split(touser, ";")
  37. for _, v := range spArr {
  38. arr = append(arr, v)
  39. }
  40. }else{
  41. arr = append(arr, touser)
  42. }
  43. m := gomail.NewMessage()
  44. m.SetHeader("From", "public@hzinsights.com")
  45. m.SetHeader("To", arr...)
  46. m.SetHeader("Subject", title+" "+GetRandStringNoSpecialChar(8))
  47. m.SetBody("text/html", content)
  48. //body := new(bytes.Buffer)
  49. if attachPath != "" {
  50. m.Attach(attachPath,
  51. gomail.Rename(attachName),
  52. gomail.SetHeader(map[string][]string{
  53. "Content-Disposition": []string{
  54. fmt.Sprintf(`attachment; filename="%s"`, mime.QEncoding.Encode("UTF-8", attachName)),
  55. },
  56. }),)
  57. }
  58. d := gomail.NewDialer("smtp.mxhichina.com", 465, "public@hzinsights.com", "Hzinsights2018")
  59. if err := d.DialAndSend(m); err != nil {
  60. fmt.Println("send err:",err.Error())
  61. return false
  62. }
  63. return true
  64. }