golang实现收发邮件的方法:1、发送方的右键必须开启stmt和pop3通道;2、开启后获得该账户的授权码,代码为【m.SetAddressHeader("Cc", "dan@example.com", "Dan")】。

golang实现收发邮件的方法:

邮件的收发不介绍了,直接上代码了

package main
import (
    "gopkg.in/gomail.v2"
)
func main() {
    m := gomail.NewMessage()
    m.SetHeader("From", "xxxxx@qq.com")
    m.SetHeader("To", "yyyyy@qq.com")
    //m.SetAddressHeader("Cc", "dan@example.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, "xxxxx@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. 开启后会获得该账户的授权码,无需记着,可以通过临时生成.(但好像是长期有效的,建议还是记录一下~)