Go-发送邮件
1. 邮件 - mail
- From -- 发送者(这封邮件由谁进行发送的,一般都是该邮件的作者)
- To -- 邮件的接收者(发送邮件的人希望谁能收到邮件)
- Subject -- 邮件的主题(类似文章的标题,对邮件内容进行总结性概括)
- Body -- 邮件内容(该邮件作者书写的内容,又称为邮件正文)
2. 适用场景
由某个条件触发自动化群发邮件(一封邮件,携带数据发送给一个或多个人)
3. 技术选型 -- Go语言技术栈
- 邮件库 -- gopkg.in/mail.v2
4. Demo
package main
import (
"crypto/tls"
gomail "gopkg.in/mail.v2"
"log"
)
func main() {
m := gomail.NewMessage() // 声明一封邮件对象
m.SetHeader("From", "") // 发件人
m.SetHeader("To", "") // 收件人
m.SetHeader("Subject", "") // 邮件主题
m.SetBody("text/plain", "测试邮件邮件content") // 邮件内容
// host 是提供邮件的服务器,port是服务器端口,username 是发送邮件的账号, password是发送邮件的密码
d := gomail.NewDialer("smtp.qq.com", 465, "From", "Password")
d.TLSConfig = &tls.Config{InsecureSkipVerify: true} // 配置tls,跳过验证
// 发送邮件
if err := d.DialAndSend(m); err != nil {
log.Fatalln("msg", "try send a mail failed", "err", err)
}
}