我的工作是在用户注册时发送电子邮件。我正在使用新的免费SendGrid账户,但是当我运行我的函数时,它会显示以下错误,有人能告诉我如何解决这个问题吗?下面是我的Golang函数
func SendOtpMail(OTP string) (err error) {
from := mail.NewEmail("Test", "[email protected]")
subject := "Comfirmation Mail"
to := mail.NewEmail("puneet", "[email protected]")
// 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
}
作为回应,它会给我返回下面的控制台输出。
&{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]]}
我在2019年也实现了这个相同的功能,然后它是工作的,但现在我想改变它,然后这显示我这个错误。请帮我解决这个问题。
根据sendgrid提供的文档。在发送任何邮件之前,你应该认证发件人。
有两种方法
请按照以下链接进行单一发件人认证
因为,这是sendgrid为了保护您的发送声誉和维护合法的发送行为而创建的新设置,他们要求客户验证他们的发送者身份。因为这些旧的sendgrid账户不会受到影响,2020年4月6日之后创建的账户将可以进行发件人身份验证。
查看这个文档以获取信息-------------------------------------------。https:/sendgrid.comdocsuisending-emender-verification。