如何获取 Mandrill java api 发送邮件的状态?
How to get status of mail send by Mandrill java api?
我在使用 lutung 的 java API of mandrill 时收到邮件信息的内部服务器异常。这是我的代码。
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;
}
我看不出你的代码有什么问题。如果您的 API 密钥是正确的,那么此请求将 return 出错的唯一原因是您提供了错误的 ID。您可以通过使用 "Try It" 按钮 https://mandrillapp.com/api/docs/messages.JSON.html#method=info 直接在 mandrill 网站上发出 messages/info api 请求并传递您通过程序调用提供的相同消息 ID 来验证这一点。
希望这对您有所帮助,
我在使用 lutung 的 java API of mandrill 时收到邮件信息的内部服务器异常。这是我的代码。
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;
}
我看不出你的代码有什么问题。如果您的 API 密钥是正确的,那么此请求将 return 出错的唯一原因是您提供了错误的 ID。您可以通过使用 "Try It" 按钮 https://mandrillapp.com/api/docs/messages.JSON.html#method=info 直接在 mandrill 网站上发出 messages/info api 请求并传递您通过程序调用提供的相同消息 ID 来验证这一点。
希望这对您有所帮助,