【问题标题】:How to read email from gmail using Forntend message id in java via javax mail如何通过javax邮件在java中使用Forntend消息ID从gmail读取电子邮件
【发布时间】:2014-05-27 18:16:03
【问题描述】:

我正在使用 gmail 上下文小工具在我的应用程序中阅读电子邮件,我使用 messageid 提取器来检索消息,但现在 tat 给了我前端消息 ID,我如何使用带有前端消息 ID 的 javax 邮件获取该电子邮件。

【问题讨论】:

    标签: jakarta-mail gmail-contextual-gadgets


    【解决方案1】:

    不直接,但你可以,如果你使用一些 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 
    
                }
    
            }
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-03
      • 2011-03-07
      • 1970-01-01
      • 2019-04-01
      • 2021-03-04
      • 1970-01-01
      • 2012-09-23
      • 2016-09-26
      相关资源
      最近更新 更多