Email.go 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package util
  2. import (
  3. "crypto/tls"
  4. "gopkg.in/gomail.v2"
  5. )
  6. // btvdkkvrsdqhdiia
  7. // cgpkqmisohqreaic
  8. const (
  9. host = "smtp.qq.com"
  10. port = 465
  11. userName = "2570380879@qq.com"
  12. password = "btvdkkvrsdqhdiia"
  13. )
  14. func SendMail(title, message, to string) {
  15. // QQ 邮箱:
  16. // SMTP 服务器地址:smtp.qq.com(SSL协议端口:465/994 | 非SSL协议端口:25)
  17. // 163 邮箱:
  18. // SMTP 服务器地址:smtp.163.com(端口:25)
  19. m := gomail.NewMessage()
  20. m.SetHeader("From", userName) // 发件人
  21. // m.SetHeader("From", "alias"+"<"+userName+">") // 增加发件人别名
  22. m.SetHeader("To", to) // 收件人,可以多个收件人,但必须使用相同的 SMTP 连接
  23. m.SetHeader("Subject", title) // 邮件主题
  24. // text/html 的意思是将文件的 content-type 设置为 text/html 的形式,浏览器在获取到这种文件时会自动调用html的解析器对文件进行相应的处理。
  25. // 可以通过 text/html 处理文本格式进行特殊处理,如换行、缩进、加粗等等
  26. m.SetBody("text/html", message)
  27. // text/plain的意思是将文件设置为纯文本的形式,浏览器在获取到这种文件时并不会对其进行处理
  28. // m.SetBody("text/plain", "纯文本")
  29. // m.Attach("test.sh") // 附件文件,可以是文件,照片,视频等等
  30. // m.Attach("lolcatVideo.mp4") // 视频
  31. // m.Attach("lolcat.jpg") // 照片
  32. d := gomail.NewDialer(
  33. host,
  34. port,
  35. userName,
  36. password,
  37. )
  38. // 关闭SSL协议认证
  39. d.TLSConfig = &tls.Config{InsecureSkipVerify: true}
  40. if err := d.DialAndSend(m); err != nil {
  41. panic(err)
  42. }
  43. }