Email.go 1.6 KB

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