用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

然后去看一下邮箱,看看邮件是否收到。

上一篇下一篇

猜你喜欢

热点阅读