有没有办法从Contextual Gadget中访问RFC 822消息ID? 根据{{3}},只能访问Google消息ID。
但是,我不理解这一限制,因为Google Message ID也可以访问...
祝你好运, 乔
答案 0 :(得分:0)
不,不是直接,但你可以使用一些java,有一个api可以解决你的问题。
你可以在这里找到它
https://code.google.com/p/java-gmail-imap/
我的代码:
IMAPFolder folder = (IMAPFolder) store.getFolder("[Gmail]/All Mail");
FetchProfile fp = new FetchProfile();
fp.add(FetchProfile.Item.ENVELOPE);
fp.add(IMAPFolder.FetchProfileItem.X_GM_THRID);
fp.add(IMAPFolder.FetchProfileItem.X_GM_MSGID);
if (folder != null) {
folder.open(Folder.READ_ONLY);
folder.fetch(folder.getMessages(), fp);
GmailMessageIDTerm messageID_term = new GmailMessageIDTerm(Long.parseLong(msgId, 16)+"");
com.google.code.javax.mail.Message[] messageID_Meassages = folder.search(messageID_term);
if(messageID_Meassages.length > 0){
IMAPMessage main_Meassage = (IMAPMessage)messageID_Meassages[0];
GmailThreadIDTerm thread_term = new GmailThreadIDTerm(main_Meassage.getGoogleMessageId() + "");
com.google.code.javax.mail.Message[] thread_Messages = folder.search(thread_term);
for(com.google.code.javax.mail.Message m: thread_Messages){
IMAPMessage imapMessage = (IMAPMessage)m;
// here is your every message of current thread
}
}
}