我们正在使用Java Mail API设置IMAP标志。有没有办法在Thunderbird或其他客户端中查看这些标志以进行调试?
答案 0 :(得分:6)
你可以学习足够的IMAP来使用socat来尝试自己。这是一个示例交换,我用>标记了我的输入,用<:
标记了回复$ socat READLINE ssl:imap.gmail.com:993,verify=0,crlf
< * OK Gimap ready for requests from [ip]
> a LOGIN user@gmail.com password
< * CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA ID XLIST CHILDREN X-GM-EXT-1 UIDPLUS COMPRESS=DEFLATE ENABLE MOVE CONDSTORE ESEARCH
< a OK user@gmail.com User authenticated (Success)
> a SELECT INBOX
< * FLAGS (\Answered \Flagged \Draft \Deleted \Seen $Forwarded)
< * OK [PERMANENTFLAGS (\Answered \Flagged \Draft \Deleted \Seen $Forwarded \*)] Flags permitted.
< * OK [UIDVALIDITY 7] UIDs valid.
< * 836 EXISTS
< * 0 RECENT
< * OK [UIDNEXT 36515] Predicted next UID.
< * OK [HIGHESTMODSEQ 3346208]
< a OK [READ-WRITE] INBOX selected. (Success)
> a FETCH 810:820 (FLAGS)
< * 810 FETCH (FLAGS (\Flagged))
< * 811 FETCH (FLAGS ())
< * 812 FETCH (FLAGS (\Seen))
< * 813 FETCH (FLAGS (\Seen))
< * 814 FETCH (FLAGS (\Seen))
< * 815 FETCH (FLAGS (\Seen))
< * 816 FETCH (FLAGS (\Seen))
< * 817 FETCH (FLAGS ())
< * 818 FETCH (FLAGS ())
< * 819 FETCH (FLAGS ())
< * 820 FETCH (FLAGS ())
< a OK Success
> a LOGOUT
< * BYE LOGOUT Requested
< a OK 73 good day (Success)
您至少需要浏览RFC 3501,以便了解UID和消息序列号,6.4.5节将告诉您在FETCH命令中可以要求的各种内容,例如flags,信封等。
每个命令前面都有一个任意标记。我在示例中只使用了a
。它旨在允许对命令和响应进行流水线操作,以便匹配它们。
LOGIN
命令只是用户名和密码,SELECT INBOX
选择邮箱以使用以下命令。 FETCH采用一个序列列表(在这个例子中,我说序列号在810和820之间的消息,以及要获取的项目列表,在这种情况下,只是标志。
答案 1 :(得分:1)
获取Trojitá,默认显示电子邮件标记。我不知道如何配置其他MUA来做同样的事情,但我怀疑他们中的很多人也可以为你做这件事。