如何获取 Mandrill java api 发送的邮件状态?

Posted

技术标签:

【中文标题】如何获取 Mandrill java api 发送的邮件状态?【英文标题】:How to get status of mail send by Mandrill java api? 【发布时间】:2016-02-05 20:16:08 【问题描述】:

我在使用 lutung 的 mandrill 的 java API 时获得了一个内部服务器异常,用于获取邮件信息。这是我的代码。

public MandrillMessageInfo getMessageInfo(String id) 
MandrillApi mandrillApi = new MandrillApi("Your api key");
MandrillMessageInfo info = null;
try 
    info = mandrillApi.messages().info(id);
    log.debug("Message status-> Email , state: , timeOfSent:  ", info.getEmail() ,info.getState(), TimeUtil.getLocalTimeString(info.getTs()));
 catch (Exception e) 
    log.debug("Exception occurs while getting message info for id: , exception is:  ", id, e.getMessage());
    throw new MailServiceException(ErrorCodes.ERROR_INTERNAL_SERVER_ERROR, ErrorCodes.ERROR_MESSAGE_INTERNAL_SERVER_ERROR);
 
return info;

【问题讨论】:

您自己似乎在抛出内部服务器异常? 是的。但是我调用的 info() 方法会引发 MandrillApiError 异常。我的问题是我如何获取有关已发送邮件的信息? 【参考方案1】:

我认为您的代码没有任何问题。如果您的 API 密钥正确,则此请求返回错误的唯一原因是您提供了错误的 id。您可以通过使用“试用”按钮https://mandrillapp.com/api/docs/messages.JSON.html#method=info 直接在 mandrill 网站上发出消息/信息 api 请求来验证这一点,并传递您通过程序调用提供的相同消息 ID。

希望对你有帮助,

【讨论】:

谢谢。 API 密钥正确,但不幸的是消息 ID 错误。

以上是关于如何获取 Mandrill java api 发送的邮件状态?的主要内容,如果未能解决你的问题,请参考以下文章

Mandrill API - 获取电子邮件的所有收件人

Mandrill API Java 单元测试

Mandrill API - 下载电子邮件内容

如何使用 mandrill 发送 mailchimp 模板?

带有 sinatra 的 Mandrill API 电子邮件队列

如何让 Mandrill 解析模板中的 Handlebars 标签?