文章首发于:clawhub.club


想用Go做一个简单的邮件发送服务,所以在github上找了一圈,最后选中:https://github.com/go-gomail/gomail
我是使用163邮箱作为发送端,因为以前用过java实现过邮件发送告警,所以还保留者邮箱与密码。
简单的实例:

1
2
3
4
5
6
7
8
9
10
11
12
13
func Send(subject, toAddress, toName, body string) error {
m := gomail.NewMessage()
m.SetAddressHeader("From", "clawhub@163.com", "ClawHub")
m.SetAddressHeader("To", toAddress, toName)
m.SetHeader("Subject", subject)
m.SetBody("text/html", body)
d := gomail.NewDialer(EMailSetting.Host, EMailSetting.Port, EMailSetting.Username, EMailSetting.Password)
d.TLSConfig = &tls.Config{InsecureSkipVerify: true}
if err := d.DialAndSend(m); err != nil {
return err
}
return nil
}

配置信息

1
2
3
4
5
[mail]
Username =xxxxxxxx@163.com
Password =xxxx
Host = smtp.163.com
Port= 25

这应该是最简单的封装了,本来想试试go的模板,但是感觉还是不熟练,就没有加上,后期需要时再学习。