发送请求的 Mandrill API 错误
Posted
技术标签:
【中文标题】发送请求的 Mandrill API 错误【英文标题】:Mandrill API error for send request 【发布时间】:2014-11-26 07:17:16 【问题描述】:我在通过 Mandrill API 上的 Jersey 客户端发送消息时遇到问题。我使用 Jersey 客户端如下:
ClientBuilder.newClient()
.register(JacksonJsonProvider.class)
.target(“https://mandrillapp.com/api/1.0/messages/send.json”)
.request(MediaType.APPLICATION_JSON_TYPE)
.post(Entity.json(methodEntity));
您可以在下面看到记录的 API 请求的标头、方法和内容。
POST https://mandrillapp.com/api/1.0/messages/send.json
Accept: application/json
Content-Type: application/json
"message":"subject":"Hello World!","text":"Really, Im just saying hi from Mandrill!","to":["email":"marcel@xxxx.com","name":"Marcel cccc","type":"to"],"headers":,"tags":["test"],"from_email":"info@xxxxx.com","auto_text":true,"preserve_recipients":false,"async":false,"key":"EWIBVEIOVBVOIEBWIOVEB"
为了响应这个请求,我不断收到以下消息:
["email":"marcel@XXXX.com","status":"rejected","_id":"0ea5e40fc2f3413ba85b765acdc5f17a","reject_reason":"invalid-sender"]
我不知道问题可能是什么,从一些帖子中我发现我必须使用 UTF-8 来编码我的消息和标题。但是将编码设置为 UTF-8 并没有多大好处。否则,有效载荷对我来说似乎很好,而且我在论坛上发现无效发件人可能意味着任何其他类型的问题(不仅仅是可悲的无效发件人)。
【问题讨论】:
【参考方案1】:我遇到了完全相同的问题
"reject_reason":"invalid-sender"
你可能已经检查过类似的问题Mandrill “reject_reason”: “invalid-sender”
如果有帮助,请尝试。我意识到您的请求中还缺少标头参数
例如用户代理:Mandrill-myclient/1.0
请尝试将此参数添加到您的 Jersey 客户端设置中,如下所示:
ClientBuilder.newClient()
.register(JacksonJsonProvider.class)
.target(“https://mandrillapp.com/api/1.0/messages/send.json”)
.request(MediaType.APPLICATION_JSON_TYPE)
.header("User-Agent", "Mandrill-myclient/1.0")
.post(Entity.json(methodEntity));
有帮助吗?
【讨论】:
谢谢!确实有帮助,我不认为问题可能出在 User-agent 标头以上是关于发送请求的 Mandrill API 错误的主要内容,如果未能解决你的问题,请参考以下文章