文章目录
前言
个人笔记,欢迎指正
go使用代码发送邮件到QQ邮箱或腾讯企业邮箱
需要引用包
go get gopkg.in/gomail.v2
发送到腾讯企业邮箱
package main
import (
"gopkg.in/gomail.v2"
"log"
)
func main() {
sender := "luoqiang@qiye.com" //发送者腾讯企业邮箱账号
password := "pwd123456" //发送者腾讯企业邮箱密码
mailTitle := "邮件标题" //邮件标题
mailBody := "邮件内容" //邮件内容,可以是html
//接收者邮箱列表
mailTo := []string{
"zhangsan@qiye.com",
"lisi@qiye.com",
"wangwu@qiye.cn",
}
m := gomail.NewMessage()
m.SetHeader("From", sender) //发送者腾讯企业邮箱账号
m.SetHeader("To", mailTo...) //接收者邮箱列表
m.SetHeader("Subject", mailTitle) //邮件标题
m.SetBody("text/html", mailBody) //邮件内容,可以是html
//添加附件
zipPath := "./user/temp.zip"
m.Attach(zipPath)
//发送邮件服务器、端口、发件人账号、发件人密码
//服务器地址和端口是腾讯的
d := gomail.NewDialer("smtp.exmail.qq.com", 465, sender, password)
if err := d.DialAndSend(m); err != nil {
log.Println("send mail failed", err)
return
}
log.Println("success")
}
发送到QQ邮箱
前期准备
-
需要拿到qq邮箱的POP3/SMTP服务的授权码
-
进入qq邮箱进行设置【设置 -> 账户】
-
拿授权码
-
发送短信
代码
package main
import (
"gopkg.in/gomail.v2"
"log"
)
func main() {
sender := "123456789@qq.com" //发送者qq邮箱
authCode := "auth_code" //qq邮箱授权码
mailTitle := "邮件标题" //邮件标题
mailBody := "邮件内容" //邮件内容,可以是html
//接收者邮箱列表
mailTo := []string{
"11111111@qq.com",
"22222222@qq.com",
"33333333@qq.com",
}
m := gomail.NewMessage()
m.SetHeader("From", sender) //发送者腾讯企业邮箱账号
m.SetHeader("To", mailTo...) //接收者邮箱列表
m.SetHeader("Subject", mailTitle) //邮件标题
m.SetBody("text/html", mailBody) //邮件内容,可以是html
//添加附件
zipPath := "./user/temp.zip"
m.Attach(zipPath)
//发送邮件服务器、端口、发送者qq邮箱、qq邮箱授权码
//服务器地址和端口是腾讯的
d := gomail.NewDialer("smtp.qq.com", 587, sender, authCode)
if err := d.DialAndSend(m); err != nil {
log.Println("send mail failed", err)
return
}
log.Println("success")
}