两种go发送邮件的方式
方法一
go标准库中net/smtp
使用方式如下所示:
func SentToEmail(user, password, host, to, subject, body string) error {
hp := strings.Split(host, ":")
auth := smtp.PlainAuth("", user, password, hp[0])
content_type := "Content-Type: text/plain;charset=UTF-8"
s := fmt.Sprintf("To:%s\r\nFrom:%s<%s>\r\nSubject:%s\r\n%s\r\n\r\n%s",
to, "goblog", user, subject, content_type, body)
msg := []byte(s)
err := smtp.SendMail(host, auth, user, []string{to}, msg)
return err
}
方法二
go第三方库gomail
使用方法如下所示:
func Send(from, to, code string) error {
// 配置邮件信息
m.SetAddressHeader("From", from, /*发送方名称*/)
m.SetHeader("To", to)
m.SetHeader("Subject", /*邮件标题*/)
// m.Embed()
m.SetBody(/*邮件内容类型*/, /*邮件内容*/)
// 发生邮件
d := gomail.NewDialer(/*host*/, /*对应端口号*/, from, /*邮箱检验码*/)
err := d.DialAndSend(m)
if err != nil {
logger.LogError(err)
return err
}
return nil
}
注意两种方法 邮箱检验码是需要在邮箱内部设置的
参考连接:blog.csdn.net/yuyinghua0302/articl...
本作品采用《CC 协议》,转载必须注明作者和本文链接