用sendgrid发邮件
2021-01-21 本文已影响0人
Lupino
sendgrid 是发送邮件的服务提供商,它提供两种发送邮件的方式。
通过smtp 或者 他们自己专有的 API 来发送,
我们用 go 来发送一个:
首先下载 sendgrid-go 软件包,
通过 go get
命令来下载:
get get github.com/sendgrid/sendgrid-go
下载完后我们来看第一个例子:
package main
import (
"fmt"
"log"
"os"
"github.com/sendgrid/sendgrid-go"
"github.com/sendgrid/sendgrid-go/helpers/mail"
)
func main() {
from := mail.NewEmail("发件邮箱", "test@example.com")
subject := "邮件标题"
to := mail.NewEmail("收件邮箱", "test@example.com")
plainTextContent := "邮件文本内容"
htmlContent := "<strong>邮件HTML内容</strong>"
message := mail.NewSingleEmail(from, subject, to, plainTextContent, htmlContent)
client := sendgrid.NewSendClient(os.Getenv("SENDGRID_API_KEY"))
response, err := client.Send(message)
if err != nil {
log.Println(err)
} else {
fmt.Println(response.StatusCode)
fmt.Println(response.Body)
fmt.Println(response.Headers)
}
}
把邮箱换成自己的邮箱地址
将代码保存到文件 sendmail.go
我们用 go build
将其编译
go build sendmail.go
编译后我们的得到一个可执行文件 sendmail
。
我们通过 sendgrid.com 申请一个 SENDGRID_API_KEY
, 放在环境变量中,然后执行 sendmail
export SENDGRID_API_KEY=xxxxxxxxxxx
./sendmail
然后去看一下邮箱,看看邮件是否收到。