发送请求的Mandrill API错误

时间:2014-10-01 12:36:47

标签: jersey mandrill jersey-client

我在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 个答案:

答案 0 :(得分:3)

我和

有完全相同的问题
  

" reject_reason":"无效发件人"

您可能已经检查过类似问题Mandrill “reject_reason”: “invalid-sender”

如果它有帮助,请尝试一下。我意识到您在请求中也缺少标题参数

  

e.g。 User-Agent: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));

有帮助吗?