golang调用163邮箱发送邮件
一、导入依赖
go get gopkg.in/gomail.v2
go get github.com/spf13/viper
二、发送邮件的方法
注:所有配置均写在了配置文件当中,此处用viper调用
// 定义发送邮件的功能方法
func sendMail(SendFileName string) error {
// 此处是邮件的正文
message := `
<p>每周五16点整准时将云枢的报表功能写到一个txt当中,通过邮件的形式发送给你! </p>
<p>报表内容为查询日期为发送邮件所在的当前周的周一至发送邮件时间节点的查询数据! </p>
`
// 此处是邮件的发件人相关信息以及,定义在了配置文件当中,便于更改
host := viper.GetString("MailHost")
port := viper.GetInt("MailPort")
userName := viper.GetString("MailUserName")
password := viper.GetString("MailPassword")
toMailPerson := viper.GetString("MailPerson")
// 创建一个发邮件的对象
m := gomail.NewMessage()
// 增加发件人别名
m.SetHeader("From", "qxnquziyang@163.com") //From是发件人
m.SetHeader("To", toMailPerson) //to是收件人
m.SetHeader("Subject", "云枢定期统计数据!") //定义的主题
m.SetBody("text/plain", message) //发送的文本消息
m.Attach(SendFileName) // 发送的附件
d := gomail.NewDialer(
host,
port,
userName,
password,
)
// 关闭SSL协议认证
d.TLSConfig = &tls.Config{InsecureSkipVerify: true}
if err := d.DialAndSend(m); err != nil {
return err
}
return nil
}