2015-11-05 2 views
0

У меня есть Исключение внутреннего сервера для получения информации по почте при использовании java API lutung для mandrill. Вот мой код.Как получить статус почты, отправленный 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; 
} 
+0

Похоже, вы сами выбрасываете внутреннее серверное исключение? – Xiao

+0

Да. Но ** info() ** метод, который я назвал throw ** исключение MandrillApiError **. Моя проблема заключается в том, как я получаю информацию о отправленной почте? –

ответ

1

Я не вижу ничего плохого в вашем коде. Если ваш ключ API прав, единственная причина, по которой этот запрос вернет ошибку, - это если вы указали неверный идентификатор. Вы можете убедиться в том, что, отправив запрос message/info api непосредственно на веб-сайт mandrill с помощью кнопки «Попробуйте» https://mandrillapp.com/api/docs/messages.JSON.html#method=info и передайте тот же идентификатор сообщения, который вы передаете с помощью вызова программы.

Надеюсь, это поможет,

+0

Спасибо. Ключ API был правильным, но, к сожалению, идентификатор сообщения был неправильным. –

Смежные вопросы