SendGrid API V3返回400 Bad Request

时间:2016-10-28 11:16:29

标签: sendgrid bad-request

我正在尝试通过SendGrid API发送邮件。

以下是我作为POST方法主体发送的JSON

{
  "content" : [
    {
      "type" : "text\/plain",
      "value" : "Hello, World!"
    }
  ],
  "personalizations" : [
    {
      "to" : [
        {
          "email" : "sahpranav1712@gmail.com"
        }
      ],
      "subject" : "Hello, World!"
    }
  ],
  "from" : {
    "email" : "iospranav1712@gmail.com"
  }
}

以下是我得到的回报

{"message":"Bad Request","field":null,"help":null}

这条信息并没有多大帮助。

授权到位,我相信是正确的。

也许,我可能错过了SendGrid App

中的某种设置

如果它有助于我使用Objective-C。

请帮助!!

3 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,问题实际上是personalizations字段中的所有替换都需要是字符串值(请参阅https://github.com/sendgrid/sendgrid-php/issues/264

"personalizations": [{
    "to": [{
        "email": "mail@gmail.com"
    }],
    "substitutions": {
        "{myFloatVal}": 16.5,
        "{firstname}": "Thomas"
    }
}]

答案 1 :(得分:0)

未设置[manager setRequestSerializer:[AFJSONRequestSerializer serializer]]; 是问题!!!

答案 2 :(得分:0)

SendGrid 400 BAD REQUEST 的意思是,哦,我们知道发生了什么我们只是没有告诉你。

这是一种常见的“错误处理”“技术”,开发人员将问题隐藏起来,只返回 false。

一个可能的原因,就我而言,是 CC 地址之一也是 TO 地址。您会看到,SendGrid 不允许多次出现电子邮件,如果您碰巧发送了其中一种类型的电子邮件,他们只会发回 400 BAD REQUEST。

关于 400 BAD REQUEST 的原因还有很多其他没有详细记录的原因,我真诚地祝你好运,找出 SendGrid 拒绝你的原因。