想用Go发一个邮件,查到的资料记录一下。
准备工作
- 发邮件使用到的是 163 邮箱,开启 pop/stmp 协议。
- golang的一个包,gomail https://github.com/go-gomail/gomail
使用起来相当简单。
代码如下:
package main
import (
gomail "gopkg.in/gomail.v2"
)
func main() {
msg := gomail.NewMessage()
msg.SetHeader("From", "发送邮箱")
msg.SetHeader("To", "对方邮箱")
msg.SetHeader("Subject", "测试邮件")
msg.SetBody("text/html", "<b>This is the body of the mail</b>")
// msg.Attach("/home/User/cat.jpg")
n := gomail.NewDialer("smtp.163.com", 465, "邮箱用户名", "授权密码")
// Send the email
if err := n.DialAndSend(msg); err != nil {
panic(err)
}
}
其中授权码开启操作如下:
- 登录邮箱点设置
- 选择pop3/stmp/imap
- 开启pop3/stmp服务
- 发送短信获取授权密码,用以替换上述代码中的授权密码