2012-08-26 6 views
1

Movemail 폴더에서 최신 메시지를 얻는 좋은 방법은 무엇입니까? javax.mail.search.SentDateTerm을 제외하고는 무엇이 좋은 방법일까요?javax.mail.search 최신 메시지 받기위한 대체 방법

자바 드라이버를 찾을 수 없지만 doveadm이 the way to go 인 것 같습니다. 그러나 나는 다소 후위에 머물러 있고, POP3 (또는 IMAP)를 사용하는 데 열중하지는 않지만, integrated Ubuntu stack은 설정 번거 로움을 덜어주었습니다. javax.mail.search의 다른 대안은 무엇입니까?

javax.mail.search.SentDateTerm에서 볼 수있는 문제는 큰 폴더의 경우 문제가 될 수있는 폴더를 반복해야한다는 것입니다. 이 경우에는 보낸 날짜별로 "최신"메시지 만 필요합니다.

썬더 버드를 사용하여 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 hook이있을 것입니다. 기존 API?

예제 명령 head /var/mail/root의 한 가지 문제점은 특정 메시지의 맨 위 메시지를 처리하는 반면 맨 위 메시지를 가져 오는 것입니다.

나는 POP3 용 dovecot으로 전환했지만 POP 된 메시지와 상호 작용할 수있는 좋은 방법을 찾고 있습니다. 이것은 probably the best approach이지만,이 전체 폴더를 반복하지 않고 상단 또는 최신 메시지 을 얻는 방법은 무엇입니까?

은 참조 : 날짜를 전송하여 https://stackoverflow.com/questions/12129820/dovecot-doveadm-java-api

답변

1

은 당신이 정말로 최신 메시지를 원하는 경우에, 당신은 모든 메시지를보고 있습니다. 님의 최신 메시지가 날짜로 수신되도록하려면 더 쉬워요. 이는받은 편지함의 마지막 메시지입니다.

+0

받은 편지함의 크기를 가져온 다음 마지막 메시지 -1을받습니다. – Thufir

+0

가장 최근에 **받은 ** 메시지이며 최근에 ** 보낸 ** 메시지가 아닙니다. 전자 메일은 저장 및 전달되므로 경로를 따라 임의의 지연이 발생할 수 있습니다. –

+0

guvm't 작업에 충분합니다.) – Thufir