golang 使用 gomail 发送邮件
下面以阿里云邮箱为例, 如果使用的是qq邮箱的话需要把mailConn里面的host改成'smpt.qq.com',user 填写qq邮箱地址, pass需要填写你在qq邮箱设置里面获取到的授权码,qq邮箱需要先去邮箱设置里面开通smtp支持,然后获取授权码。然后就可以用qq邮箱发送了。
安装gomail
go get gopkg.in/gomail.v2
package mainimport ( "gopkg.in/gomail.v2" "strconv")func SendMail(mailTo []string,subject string, body string ) error { //定义邮箱服务器连接信息,如果是阿里邮箱 pass填密码,qq邮箱填授权码 mailConn := map[string]string { "user": "zhangqiang@xxxx.com", "pass": "xxxx", "host": "smtp.mxhichina.com", "port": "465", } port, _ := strconv.Atoi(mailConn["port"]) //转换端口类型为int m := gomail.NewMessage() m.SetHeader("From","XD Game" + "<" + mailConn["user"] + ">") //这种方式可以添加别名,即“XD Game”, 也可以直接用<code>m.SetHeader("From",mailConn["user"])</code> 读者可以自行实验下效果 m.SetHeader("To", mailTo...) //发送给多个用户 m.SetHeader("Subject", subject) //设置邮件主题 m.SetBody("text/html", body) //设置邮件正文 d := gomail.NewDialer(mailConn["host"], port, mailConn["user"], mailConn["pass"]) err := d.DialAndSend(m) return err}func main() { //定义收件人 mailTo := []string { "zhangqiang@xxx.com", "abc@qq.com", "sssdd@qq.com", } //邮件主题为"Hello" subject := "Hello" // 邮件正文 body := "Good" SendMail(mailTo, subject, body)}
更多功能可以参考 https://github.com/go-gomail/gomail
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。