分享
golang 使用 gomail 发送邮件
woahjknes · · 16101 次点击 · · 开始浏览这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。
下面以阿里云邮箱为例, 如果使用的是qq邮箱的话需要把mailConn里面的host改成'smpt.qq.com',user 填写qq邮箱地址, pass需要填写你在qq邮箱设置里面获取到的授权码,qq邮箱需要先去邮箱设置里面开通smtp支持,然后获取授权码。然后就可以用qq邮箱发送了。
安装gomail
go get gopkg.in/gomail.v2
package main
import (
"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
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信16101 次点击
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
下面以阿里云邮箱为例, 如果使用的是qq邮箱的话需要把mailConn里面的host改成'smpt.qq.com',user 填写qq邮箱地址, pass需要填写你在qq邮箱设置里面获取到的授权码,qq邮箱需要先去邮箱设置里面开通smtp支持,然后获取授权码。然后就可以用qq邮箱发送了。
安装gomail
go get gopkg.in/gomail.v2
package main
import (
"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