SendGrid API V3 returns 400 错误请求
SendGrid API V3 returns 400 Bad Request
我正在尝试通过 SendGrid API 实现邮件发送。
以下是 JSON 我作为 POST 方法正文发送的
{
"content" : [
{
"type" : "text\/plain",
"value" : "Hello, World!"
}
],
"personalizations" : [
{
"to" : [
{
"email" : "sahpranav1712@gmail.com"
}
],
"subject" : "Hello, World!"
}
],
"from" : {
"email" : "iospranav1712@gmail.com"
}
}
下面是我得到的return
{"message":"Bad Request","field":null,"help":null}
这条信息没什么用。
授权到位,我相信没有错。
也许,我可能错过了 SendGrid App
中的某些设置
如果对我使用 Objective-C 有帮助的话。
请帮忙!!
未设置[manager setRequestSerializer:[AFJSONRequestSerializer serializer]];
是问题!!!
我遇到了同样的问题,问题实际上是 personalizations
字段中的所有替换都必须是字符串值(参见 https://github.com/sendgrid/sendgrid-php/issues/264)
"personalizations": [{
"to": [{
"email": "mail@gmail.com"
}],
"substitutions": {
"{myFloatVal}": 16.5,
"{firstname}": "Thomas"
}
}]
为什么您从 SendGrid 获得 400 BAD REQUEST
只能猜测。 400 BAD REQUEST
意思是哦,我们知道发生了什么,只是没有告诉你而已。
这是一个常见的 'error handling' 'technique' 开发人员捕获错误并简单地 returns 错误,隐藏失败的任何细节或原因。
一个可能的原因,就像我的情况一样,抄送地址之一也是收件人地址。您会看到,除此之外,SendGrid 不允许电子邮件地址在发送请求中出现多次,如果您碰巧在任何 TO、CC 或 BCC 列表中多次列出电子邮件收件人,SendGrid 只会发送返回 400 错误请求。
对于 400 BAD REQUEST,还有许多其他记录不详的原因,我衷心希望您能找到 SendGrid 拒绝您的原因的原因。
我的经验通常是正文必须没有任何新行(例如\n 或\r),否则会return 400 错误。当我清除任何新行时,它会起作用,我通常使用类似的东西:
reg_replace('/\s\s+/', ' ', $message)
我正在尝试通过 SendGrid API 实现邮件发送。
以下是 JSON 我作为 POST 方法正文发送的
{
"content" : [
{
"type" : "text\/plain",
"value" : "Hello, World!"
}
],
"personalizations" : [
{
"to" : [
{
"email" : "sahpranav1712@gmail.com"
}
],
"subject" : "Hello, World!"
}
],
"from" : {
"email" : "iospranav1712@gmail.com"
}
}
下面是我得到的return
{"message":"Bad Request","field":null,"help":null}
这条信息没什么用。
授权到位,我相信没有错。
也许,我可能错过了 SendGrid App
中的某些设置如果对我使用 Objective-C 有帮助的话。
请帮忙!!
未设置[manager setRequestSerializer:[AFJSONRequestSerializer serializer]];
是问题!!!
我遇到了同样的问题,问题实际上是 personalizations
字段中的所有替换都必须是字符串值(参见 https://github.com/sendgrid/sendgrid-php/issues/264)
"personalizations": [{
"to": [{
"email": "mail@gmail.com"
}],
"substitutions": {
"{myFloatVal}": 16.5,
"{firstname}": "Thomas"
}
}]
为什么您从 SendGrid 获得 400 BAD REQUEST
只能猜测。 400 BAD REQUEST
意思是哦,我们知道发生了什么,只是没有告诉你而已。
这是一个常见的 'error handling' 'technique' 开发人员捕获错误并简单地 returns 错误,隐藏失败的任何细节或原因。
一个可能的原因,就像我的情况一样,抄送地址之一也是收件人地址。您会看到,除此之外,SendGrid 不允许电子邮件地址在发送请求中出现多次,如果您碰巧在任何 TO、CC 或 BCC 列表中多次列出电子邮件收件人,SendGrid 只会发送返回 400 错误请求。
对于 400 BAD REQUEST,还有许多其他记录不详的原因,我衷心希望您能找到 SendGrid 拒绝您的原因的原因。
我的经验通常是正文必须没有任何新行(例如\n 或\r),否则会return 400 错误。当我清除任何新行时,它会起作用,我通常使用类似的东西:
reg_replace('/\s\s+/', ' ', $message)