golang 中与已验证的发件人身份不匹配错误

Pun*_*eet 7 go sendgrid

我正在处理用户注册时发送的电子邮件。我正在免费使用新的 SendGrid 帐户,但是当我运行我的函数时,它会向我显示以下错误,任何人都可以告诉我如何解决它。下面是我的 Golang 函数

func SendOtpMail(OTP string) (err error) {
    from := mail.NewEmail("Test", "test@example.com")
    subject := "Comfirmation Mail"
    to := mail.NewEmail("puneet", "puneet123@gmail.com")
    // plainTextContent := ""
    htmlContent := "Your confirmation OTP is = " + OTP
    message := mail.NewSingleEmail(from, subject, to, " ", htmlContent) // ("" = plainTextContent)
    client := sendgrid.NewSendClient("Api_key")
    response, err := client.Send(message)
    fmt.Println(response)
    fmt.Println(err)
    return err
}
Run Code Online (Sandbox Code Playgroud)

作为响应,它将返回以下控制台输出:

&{403 {"errors":[{"message":"The from address does not match a verified Sender Identity. Mail cannot be sent until this error is resolved. Visit https://sendgrid.com/docs/for-developers/sending-email/sender-identity/ to see the Sender Identity requirements","field":"from","help":null}]} map[Access-Control-Allow-Headers:[Authorization, Content-Type, On-behalf-of, x-sg-elas-acl] Access-Control-Allow-Methods:[POST] Access-Control-Allow-Origin:[https://sendgrid.api-docs.io] Access-Control-Max-Age:[600] Connection:[keep-alive] Content-Length:[281] Content-Type:[application/json] Date:[Sat, 25 Apr 2020 12:56:25 GMT] Server:[nginx] X-No-Cors-Reason:[https://sendgrid.com/docs/Classroom/Basics/API/cors.html]]}
Run Code Online (Sandbox Code Playgroud)

我也在 2019 年实现了同样的功能,然后它可以工作,但现在我想更改它,然后这向我显示了这个错误。这个你能帮我吗。

Shi*_*vam 6

根据 sendgrid 提供的文档。在发送任何电子邮件之前,您应该对发件人进行身份验证,

有两种方法可以做到这一点

  1. 域认证
  2. 单一发件人身份验证

请点击以下链接进行单一发件人身份验证

https://sendgrid.com/docs/ui/sending-email/sender-verification


小智 5

由于这是 sendgrid 为保护您的发送声誉和维护合法发送行为而创建的新设置,因此它们要求客户验证其发件人身份。由于这些旧的sendgrid账户不会受到影响,2020年4月6日之后创建的账户将可以进行发件人验证。

检查此文档以获取信息 - https://sendgrid.com/docs/ui/sending-email/sender-verification