今天,我遇到了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)
}
这是我的代码的一部分。当我在localhost中运行此代码时,一切正常,但是下载到服务器后。我有类似的问题
&{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]]}
请帮助解决此问题。
答案 0 :(得分:0)
SendGrid's API需要授权标头。如果您使用的是client library,则可能已经设置了SENDGRID_API_KEY进行测试。
在新服务器中,确保为环境变量设置了let rec print_list = function
[] -> ()
| e::l -> print_int e ; print_string " " ; print_list l
。
对于Java,将示例环境文件复制到新文件
SENDGRID_API_KEY
编辑新的.env以添加您的API密钥,然后获取.env文件的源文件以在当前会话中设置rhe变量
cp .env_sample .env
有关API集的更多信息,请参见client library documentation。