3

我们正在使用 Java Mail API 设置 IMAP 标志。有没有办法在 Thunderbird 或其他客户端中查看这些标志以进行调试?

4

2 回答 2

7

你可以学习足够的 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 命令中要求的各种内容,例如标志、信封等。

每个命令前面都有一个任意标签。我只a在示例中使用过。它旨在允许命令和响应的流水线化,以便它们可以匹配。

LOGIN命令只是用户名和密码,并SELECT INBOX选择邮箱供以下命令使用。FETCH 接受一个序列列表(在示例中,我说的是序列号在 810 和 820 之间的消息,以及一个要获取的项目列表,在这种情况下,只是标志。

于 2013-08-24T04:01:53.010 回答
1

获取Trojitá,它默认显示电子邮件标志。我不知道如何配置其他 MUA 来做同样的事情,但我怀疑他们中的许多人也可以为你做这件事。

于 2013-08-23T09:27:25.670 回答