2013-01-16 55 views
0

我使用spring 3.0.6和spring integration 2.0.3。如果我將電子郵件標記爲未讀,或者如果我多次收到新電子郵件,則適配器不會讀取它。我不確定這是IMAP服務器問題還是API問題。下面是相同的調試日誌。Java Mail使用彈簧郵件適配器讀取不一致的行爲

{ DEBUG: JavaMail version 1.4.5 
DEBUG: successfully loaded resource: /META-INF/javamail.default.providers 
DEBUG: Tables of loaded providers 
DEBUG: Providers Listed By Class Name: {com.sun.mail.smtp.SMTPSSLTransport=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], com.sun.mail.smtp.SMTPTransport=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc], com.sun.mail.imap.IMAPSSLStore=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3SSLStore=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc], com.sun.mail.imap.IMAPStore=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3Store=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc]} 
DEBUG: Providers Listed By Protocol: {imaps=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc], imap=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], smtps=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], pop3=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc], pop3s=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc], smtp=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]} 
DEBUG: successfully loaded resource: /META-INF/javamail.default.address.map 
DEBUG: getProvider() returning javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc] 
DEBUG: mail.imap.fetchsize: 16384 
DEBUG: mail.imap.statuscachetimeout: 1000 
DEBUG: mail.imap.appendbuffersize: -1 
DEBUG: mail.imap.minidletime: 10 
2013-01-16 11:58:00,232 [task-scheduler-1] DEBUG org.springframework.integration.mail.ImapMailReceiver - connecting to store [imap://username:*****@IMAP server IP:143/Inbox] 
DEBUG: trying to connect to host "IMAP server IP", port 143, isSSL false 
* OK The Microsoft Exchange IMAP4 service is ready. BURCA1 
A0 CAPABILITY 
* CAPABILITY IMAP4 IMAP4rev1 AUTH=NTLM AUTH=GSSAPI AUTH=PLAIN STARTTLS IDLE NAMESPACE LITERAL+ 
A0 OK CAPABILITY completed. 
DEBUG IMAP: AUTH: NTLM 
DEBUG IMAP: AUTH: GSSAPI 
DEBUG IMAP: AUTH: PLAIN 
DEBUG: protocolConnect login, host=IMAP server IP, user=username, password=<non-null> 
DEBUG IMAP: AUTHENTICATE PLAIN command trace suppressed 
DEBUG IMAP: AUTHENTICATE PLAIN command result: A1 OK AUTHENTICATE completed. 
A2 CAPABILITY 
* CAPABILITY IMAP4 IMAP4rev1 AUTH=NTLM AUTH=GSSAPI AUTH=PLAIN STARTTLS IDLE NAMESPACE LITERAL+ 
A2 OK CAPABILITY completed. 
DEBUG IMAP: AUTH: NTLM 
DEBUG IMAP: AUTH: GSSAPI 
DEBUG IMAP: AUTH: PLAIN 
A3 LIST "" Inbox 
* LIST (\Marked \HasChildren) "/" INBOX 
A3 OK LIST completed. 
2013-01-16 11:58:00,488 [task-scheduler-1] DEBUG org.springframework.integration.mail.ImapMailReceiver - opening folder [imap://username:*****@IMAP server IP:143/Inbox] 
DEBUG: connection available -- size: 1 
A4 SELECT INBOX 
* 26 EXISTS 
*** 0 RECENT** 
* FLAGS (\Seen \Answered \Flagged \Deleted \Draft $MDNSent) 
* OK [PERMANENTFLAGS (\Seen \Answered \Flagged \Deleted \Draft $MDNSent)] Permanent flags 
* OK [UIDVALIDITY 5298] UIDVALIDITY value 
* OK [UIDNEXT 213] The next unique identifier value 
A4 OK [READ-WRITE] SELECT completed. 
2013-01-16 11:58:00,553 [task-scheduler-1] INFO org.springframework.integration.mail.ImapMailReceiver - attempting to receive mail from folder [INBOX] 
A5 SEARCH UNANSWERED UNDELETED NOT (SEEN) ALL 
* SEARCH 
A5 OK SEARCH completed. 
2013-01-16 11:58:00,590 [task-scheduler-1] DEBUG org.springframework.integration.mail.ImapMailReceiver - found 0 new messages 
A6 EXAMINE INBOX 
* 26 EXISTS 
* 0 RECENT 
* FLAGS (\Seen \Answered \Flagged \Deleted \Draft $MDNSent) 
* OK [PERMANENTFLAGS()] Permanent flags 
* OK [UIDVALIDITY 5298] UIDVALIDITY value 
* OK [UIDNEXT 213] The next unique identifier value 
A6 OK [READ-ONLY] EXAMINE completed. 
A7 CLOSE 
A7 OK CLOSE completed. 
DEBUG: added an Authenticated connection -- size: 1 

}

回答

0

協議跟蹤清楚地表明,服務器認爲你沒有「最近」的消息,並沒有任何消息,它們都沒有答案和看不見的(而不是刪除)。如果您單獨檢查每封郵件,是否會發現任何此類郵件?

+0

嗨,比爾,如果我再次看到郵箱,所有未讀消息都顯示爲在Outlook Web客戶端中讀取,但適配器沒有看到新的/未讀消息。我不確定我是否正確理解你的問題。謝謝! –

+0

打開org.springframework.integration的DEBUG級別日誌記錄 - 它應該爲您提供更多見解。 –

+0

另一個問題......當你說「很多時候適配器沒有看到它」,這是否意味着它有時會像你期望的那樣工作,有時它不會呢?如果是這樣,你有另一個客戶端(Outlook等)使用相同的郵箱嗎?在你有機會看到它們之前,另一個客戶端可能會將這些消息標記爲已讀。 –

相關問題