2012-08-26 5 views
1

Помимо javax.mail.search.SentDateTerm, что является хорошим способом получить последнее сообщение в определенной папке Movemail?javax.mail.search альтернатива для получения новейшего сообщения

Похоже, что doveadm the way to go, хотя я не могу найти драйвер Java. Тем не менее, я предпочел бы оставаться в postfix и не очень сильно хотел бы использовать POP3 (или IMAP), хотя integrated Ubuntu stack облегчил проблемы конфигурации. Любые альтернативы javax.mail.search?

Проблема, которую я вижу с помощью javax.mail.search.SentDateTerm, заключается в том, что она требует итерации папки, что для больших папок может быть проблематичным. В этом случае я хочу только «новейшее» сообщение, отправив дату.

Я использую Thunderbird для чтения POP3, но использовал папку типа mailutils и хочу вывести верхнее сообщение, как если бы были stack. На самом деле, точно так же, как вы видели Thunderbird, где последнее сообщение наверху.

Я полагаю, что это может быть целесообразным прибегнуть к использованию файловой системы для сортировки почты:

[email protected]:~# 
[email protected]:~# head /var/mail/root 
From [email protected] Sun Aug 26 00:41:11 2012 
Return-Path: <[email protected]> 
X-Original-To: [email protected] 
Delivered-To: [email protected] 
Received: by dur.bounceme.net (Postfix, from userid 0) 
    id AB90A1827DF; Sun, 26 Aug 2012 00:41:11 -0700 (PDT) 
To: <[email protected]> 
Cc: <[email protected]> 
Subject: ping 12:40 
X-Mailer: mail (GNU Mailutils 2.2) 
[email protected]:~# 

Что-то в Java вдоль этих линий, чтобы захватить верхнее сообщение? Тем не менее, , что кажется хрупким и просто вообще плохая идея, использовать файловую систему напрямую, когда могут быть лучшие варианты. Возможно, есть какой-то mailutils или postfix, к которым может воспользоваться Java? Существующий API?

Одна из проблем с примером команды head /var/mail/root заключается в том, что она захватывает верхнее сообщение, тогда как я за верхним сообщением в конкретной папке.

Я переключился на dovecot для POP3, но я ищу хороший способ взаимодействия с сообщениями, которые были выскочены. Это probably the best approach, но как получить верхнее или последнее сообщение без, итерируя всю папку?

Смотрите также: https://stackoverflow.com/questions/12129820/dovecot-doveadm-java-api

ответ

1

Если вы действительно хотите, новейшее сообщение по отправлено дату, вы должны смотреть на все сообщения. Если вы хотите, чтобы последнее сообщение было отправлено , это проще - это последнее сообщение в папке «Входящие».

+0

просто введите размер папки «Входящие», а затем последнее сообщение -1? – Thufir

+0

Это последнее сообщение ** получено, а не последнее сообщение ** отправлено **. Помните, что электронная почта - это хранилище и пересылка - могут быть произвольные задержки в любом месте пути. –

+0

достаточно для работы guvm't;) – Thufir

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

  • Нет связанных вопросов^_^