Go 库之 email

程序中时常有发送邮件的需求。

有异常情况了需要通知管理员和负责人,用户下单后可能需要通知订单信息,电商平台、中国移动和联通都有每月账单,这些都可以通过邮件来推送。

还有我们平时收到的垃圾邮件大都也是通过这种方式发送的

那么如何在 Go 语言发送邮件?本文我们介绍一下email库的使用。

快速使用

这个库的使用快不了,为什么呢?

先安装库,这个自不必说:

1

$ go get github.com/jordan-wright/email

我们需要额外一些工作。

我们知道邮箱使用SMTP/POP3/IMAP等协议从邮件服务器上拉取邮件。

邮件并不是直接发送到邮箱的,而是邮箱请求拉取的。

所以,我们需要配置SMTP/POP3/IMAP服务器。

从头搭建固然可行,而且也有现成的开源库,但是比较麻烦。

现在一般的邮箱服务商都开放了SMTP/POP3/IMAP服务器。

我这里拿 126 邮箱来举例,使用SMTP服务器。

当然,用 QQ 邮箱也可以。

•首先,登录邮箱;

•点开顶部的设置,选择POP3/SMTP/IMAP;

•点击开启IMAP/SMTP服务,按照步骤开启即可,有个密码设置,记住这个密码,后面有用。

然后就可以编码了:

package main

import (

"log"

"net/smtp"

"github.com/jordan-wright/email"

)

func main() {

e := email.NewEmail()

e.From = "dj "

e.To = []string{"123456@qq.com"}

e.Subject = "Awesome web"

e.Text = []byte("Text Body is, of course, supported!")

err :&#