我不熟悉javamail,但我熟悉IMAP协议(
RFC 3501
)我会尝试以下方法:
IMAP命令示例:
TAG0001 FETCH 1 BODY.PEEK[HEADER.FIELDS (CONTENT-TYPE)]
IMAP服务器响应示例:
* 1 FETCH (BODY[HEADER.FIELDS (CONTENT-TYPE)] {69}...data..})
TAG0001 OK Success
“…data…”的内容是内容类型标头:
Content-Type: text/calendar;
name="meeting.ics";
method=REQUEST
-
如果由于该项是multipart/something之类的常见类型,因此无法确定该项是否为消息内容类型标头中的日历项,请使用FETCH命令检索消息结构,并在MIME树中搜索具有适当内容类型的任何日历项。
IMAP命令示例:
TAG0002 FETCH 2 (BODY)
* 1 FETCH (
BODY
(
(
("text" "plain" ("charset" "iso-8859-2") NIL NIL "quoted-printable" 194 1)
("text" "html" ("charset" "iso-8859-2") NIL NIL "quoted-printable" 1173 1)
("text" "calendar"
("name" "meeting.ics" "charset" "windows-1252" "method" "REQUEST") NIL NIL "8bit" 1531 1)
"alternative"
)
"mixed"
)
)
TAG0002 OK FETCH completed.
(添加大量空白以提高可读性)
签出部分
6.4.5
7.4.2
有关FETCH命令及其响应格式的详细信息,请参阅RFC3501的。不幸的是,我不知道如何使用javamail实现这一点。