我正在尝试通过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。
请帮助!!
答案 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 拒绝你的原因。