在golang中使用发送网格?

时间:2019-01-30 02:54:00

标签: go sendgrid

我使用sendgrid在golang中发送邮件。尽管状态码返回202,但电子邮件未发送。有人可以帮我吗?

package main

import (
    "fmt"
    "log"

    sendgrid "github.com/sendgrid/sendgrid-go"
    "github.com/sendgrid/sendgrid-go/helpers/mail"
)

func main() {
    from := mail.NewEmail("Example User", "test@example.com")
    subject := "Sending with SendGrid is Fun"
    to := mail.NewEmail("Example User", "trungduc08trungduc08@gmail.com")
    plainTextContent := "and easy to do anywhere, even with Go"
    htmlContent := "<strong>and easy to do anywhere, even with Go</strong>"
    message := mail.NewSingleEmail(from, subject, to, plainTextContent, htmlContent)
    client := sendgrid.NewSendClient("my api-key")
    response, err := client.Send(message)
    if err != nil {
        log.Println("err:", err)
    } else {
        fmt.Println("statusCode: ", response.StatusCode)
        fmt.Println("body: ", response.Body)
        fmt.Println("headers: ", response.Headers)
    }
}

1 个答案:

答案 0 :(得分:0)

我假设您已经建立了一个SendGrid帐户,如果没有,我会从那里开始,因为它逐步说明了如何生成API密钥并测试电子邮件是否已由SendGrid发送。

您的问题在这行上(上面的代码看起来直接从未修改的SendGrid的示例中提取)

from := mail.NewEmail("Example User", "test@example.com")

电子邮件地址必须是您控制的有效电子邮件地址。

有关如何开始的更多详细信息,请参见https://app.sendgrid.com/guide/integrate/langs/go

如果上述方法不起作用,则可能还需要通过SendGrid进行验证/验证(在“市场营销”>“市场营销活动”>“发件人”>“创建新发件人”下指定用于发送电子邮件的电子邮件地址时,您会收到一封确认电子邮件。您的SendGrid帐户),然后才能使用该电子邮件地址发送电子邮件。

相关问题