golang如何发送邮件
程序员文章站
2024-03-03 20:13:16
...
邮件的收发不介绍了,直接上代码了
package main
import (
"gopkg.in/gomail.v2"
)
func main() {
m := gomail.NewMessage()
m.SetHeader("From", "aaa@qq.com")
m.SetHeader("To", "aaa@qq.com")
//m.SetAddressHeader("Cc", "aaa@qq.com", "Dan")
m.SetHeader("Subject", "Hello!")
m.SetBody("text/html", "Hello <b>Bob</b> and <i>Cora</i>!")
//m.Attach("/home/Alex/lolcat.jpg")
d := gomail.NewDialer("smtp.qq.com", 587, "aaa@qq.com", "okbnsnqptzjzfigd")
// Send the email to Bob, Cora and Dan.
if err := d.DialAndSend(m); err != nil {
panic(err)
}
}
唯一踩到的坑就是password了
对代码种的xxxx和yyyyy账户替换成发送方和接收方后,箭头指向并不是你的登陆密码,而是授权码
使用自定义客户端发放邮件需要以下两个要素:
1. 发送方的右键必须开启stmt和pop3通道,以qq邮箱为例,登陆qq邮箱->设置-账户->开启pop3和stmt服务
2. 开启后会获得该账户的授权码,无需记着,可以通过临时生成.(但好像是长期有效的,建议还是记录一下~)
有疑惑评论说,不同的右键服务器的smtp和pop3的地址和端口可能会不同,具体的可以百度查