+145
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
public String readMessage(String subject) throws Exception {
String messageString = null;
try {
for (final Message message : Arrays.asList(this.inbox.getMessages())) {
if (subject.equals(message.getSubject())) {
messageString = "To: " + Arrays.asList(message.getAllRecipients()) + "n" + "From: " + Arrays.asList(message.getFrom()) + "n" + "Sent: "
+ message.getSentDate() + "n" + "Subject: " + message.getSubject() + "n" + "Text: " + message.getContent();
break;
}
}
} catch (final MessagingException me) {
throw new Exception("Error reading Inbox", me);
} catch (final IOException e) {/* Not using streams, only plain text */
}
return messageString;
}
тестовый javamail клиент(отправка тест-письма,поиск его и удаление). В методе ищем письмо с нужной темой, возвращаем текстовое представление.
говно, кроме очевидных ляпов, в том, что мы лазием по всем сообщениям, сверяя тему, а получение письма занимает около секунды. Надо ли говорить, что в современном ящике писем тысячи...
для сравнения:
если заменить в 4 строчке конструкцию
Arrays.asList(this.inbox.getMessages())
на new SubjectTerm(subject)
, то время выполнения сокращается с (неизвестно,точно более времени чаепития) до пары секунд = )
Запостил: Lure Of Chaos,
14 Января 2011
Lure Of Chaos 14.01.2011 14:48 # −1
gegMOPO4 14.01.2011 18:11 # +2