为什么 Sendgrid API 在 localhost 中工作但在服务器中需要另一个 API
Why Sendgrid API works in localhost but in server need another API
今天我遇到了 Sendgrid 问题。我收到 SendGrid API 并写入消息
from := mail.NewEmail(message.Fullname, "example@gmail.com")
subject := "Новая заявка в Litro.kz"
to := mail.NewEmail(message.Fullname, "example@gmail.com")
plainTextContent := "ФИО: "+ message.Fullname + "\n Email: " +message.Email + "\n Номер телефона: "+ message.Phone +"\n Сообщение: "+message.Text
htmlContent := "ФИО: "+ message.Fullname + "<br> Email: " +message.Email + "<br> Номер телефона: "+ message.Phone +"<br> Сообщение: "+message.Text
messages := mail.NewSingleEmail(from, subject, to, plainTextContent, htmlContent)
client := sendgrid.NewSendClient(os.Getenv("SENDGRID_API_KEY"))
response, err := client.Send(messages)
if err != nil || response.StatusCode!=202 {
log.Println(err)
fmt.Println(response)
return u.Message(false,"Error")
}else{
fmt.Println(response.Body)
fmt.Print(response.StatusCode)
}
这是我的代码的一部分。当我 运行 本地主机中的这段代码一切正常,但在我下载到服务器之后。我有这样的问题
&{401 {“errors”:[{“message”:“Permission denied, wrong credentials”,“field”:null,“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:[88] Content-Type:[application/json] Date:[Mon, 04 Nov 2019 08:33:17 GMT] Server:[nginx] X-No-Cors-Reason:[https://sendgrid.com/docs/Classroom/Basics/API/cors.html]]}
请帮忙解决这个问题。
SendGrid's API requires an authorization header. If you are using a client library a SENDGRID_API_KEY 可能是为了测试而设置的。
在新服务器中,确保环境变量设置为SENDGRID_API_KEY
。
对于Java,将示例环境文件复制到新文件
cp .env_sample .env
编辑新的 .env 以添加您的 API 密钥,然后获取 .env 文件以在当前会话中设置 rhe 变量
source .env
有关 API 集的更多信息可以在 client library documentation.
中找到
今天我遇到了 Sendgrid 问题。我收到 SendGrid API 并写入消息
from := mail.NewEmail(message.Fullname, "example@gmail.com")
subject := "Новая заявка в Litro.kz"
to := mail.NewEmail(message.Fullname, "example@gmail.com")
plainTextContent := "ФИО: "+ message.Fullname + "\n Email: " +message.Email + "\n Номер телефона: "+ message.Phone +"\n Сообщение: "+message.Text
htmlContent := "ФИО: "+ message.Fullname + "<br> Email: " +message.Email + "<br> Номер телефона: "+ message.Phone +"<br> Сообщение: "+message.Text
messages := mail.NewSingleEmail(from, subject, to, plainTextContent, htmlContent)
client := sendgrid.NewSendClient(os.Getenv("SENDGRID_API_KEY"))
response, err := client.Send(messages)
if err != nil || response.StatusCode!=202 {
log.Println(err)
fmt.Println(response)
return u.Message(false,"Error")
}else{
fmt.Println(response.Body)
fmt.Print(response.StatusCode)
}
这是我的代码的一部分。当我 运行 本地主机中的这段代码一切正常,但在我下载到服务器之后。我有这样的问题
&{401 {“errors”:[{“message”:“Permission denied, wrong credentials”,“field”:null,“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:[88] Content-Type:[application/json] Date:[Mon, 04 Nov 2019 08:33:17 GMT] Server:[nginx] X-No-Cors-Reason:[https://sendgrid.com/docs/Classroom/Basics/API/cors.html]]}
请帮忙解决这个问题。
SendGrid's API requires an authorization header. If you are using a client library a SENDGRID_API_KEY 可能是为了测试而设置的。
在新服务器中,确保环境变量设置为SENDGRID_API_KEY
。
对于Java,将示例环境文件复制到新文件
cp .env_sample .env
编辑新的 .env 以添加您的 API 密钥,然后获取 .env 文件以在当前会话中设置 rhe 变量
source .env
有关 API 集的更多信息可以在 client library documentation.
中找到