`
dtt3401885
  • 浏览: 17880 次
文章分类
社区版块
存档分类
最新评论

Failed to load IMAP envelope

 
阅读更多

Exception in thread "main" javax.mail.MessagingException: Failed to load IMAP envelope
at com.sun.mail.imap.IMAPMessage.loadEnvelope(IMAPMessage.java:1069)
at com.sun.mail.imap.IMAPMessage.getSubject(IMAPMessage.java:256)
at WSLTest.main(WSLTest.java:47)

主要原因是使用了smtp接受方式。应该为imap

 

    private static FlagTerm recentTerm = new FlagTerm(new Flags(Flags.Flag.RECENT),
            true);
    public static String myEmailSMTPHost = "imap.qiye.163.com";
    public static String myEmailAccount = "邮箱";
    public static String myEmailPassword = "密码";

    public static  void reserveemail() throws Exception {

         Properties props = new Properties(); 
            props.setProperty("mail.store.protocol", "imap"); 
            props.setProperty("mail.imap.host", "imap.qiye.163.com"); 
            props.setProperty("mail.imap.port", "143"); 
        Store store = null;
       
        // 用来存放邮件中文件夹的,可以简单的使用javax.mail.Folder类型,
        // 如果只是取未读邮件数的话Folder类型就够了

        try {
             Session session = Session.getInstance(props); 
            //如果使用pop3协议这里imap改成pop3,如果使用ssl连接这里应使用imaps
            store = session.getStore("imap");
            store.connect(myEmailAccount,myEmailPassword);
            //System.out.println(store);
             Folder folder = getInboxFolder(store, false);   //取得收件箱对象
           
            //如果需要在取得邮件数后将邮件置为已读则这里需要使用READ_WRITE,否则READ_ONLY就可以
               
                // 获得收件箱的邮件列表 
                Message[] messages = folder.search(recentTerm); 
                for (Message message : messages) {
                    try{
                        IMAPMessage msg = (IMAPMessage) message;
                        System.out.println(msg.getSubject());
                        //InventecEmailProcessor iema=new InventecEmailProcessor();
                        //iema.resolvemsg(msg);
                        msg.setFlag(Flags.Flag.SEEN, true);
                    }catch(Exception e){
                        e.printStackTrace();
                    }
                   
                }
            // Message messages[] = inbox.getMessages(); //获取所有邮件

            //建立搜索条件FlagTerm,这里FlagTerm继承自SearchTerm,也就是说除了获取未读邮
            //件的条件还有很多其他条件同样继承了SearchTerm的条件类,像根据发件人,主题搜索等,
            // 还有复杂的逻辑搜索类似:
            //    
            //    SearchTerm orTerm = new OrTerm(  
            //            new FromStringTerm(from),  
            //            new SubjectTerm(subject)  
            //            );
            // 
            // 可以上网搜索SearchTerm获取更多

            /*FlagTerm ft = new FlagTerm(new Flags(Flags.Flag.SEEN), false); //false代表未读,true代表已读

            *//**
             * Flag 类型列举如下
             * Flags.Flag.ANSWERED 邮件回复标记,标识邮件是否已回复。
             * Flags.Flag.DELETED 邮件删除标记,标识邮件是否需要删除。
             * Flags.Flag.DRAFT 草稿邮件标记,标识邮件是否为草稿。
             * Flags.Flag.FLAGGED 表示邮件是否为回收站中的邮件。
             * Flags.Flag.RECENT 新邮件标记,表示邮件是否为新邮件。
             * Flags.Flag.SEEN 邮件阅读标记,标识邮件是否已被阅读。
             * Flags.Flag.USER 底层系统是否支持用户自定义标记,只读。
             *//*

            Message messages[] = inbox.search(ft); //根据设置好的条件获取message
              System.out.println("邮件总共:"+messages.length+"封");
             // System.out.println("11111111111111");
            //遍历获取的Message数组获取信息
            for (Message message : messages) {
                try{
                    System.out.println(message.getSubject().toString());
                    message.setFlag(Flags.Flag.SEEN, true);
                }catch(Exception e){
                    //e.printStackTrace();
                    System.out.println("读取出错!======================");
                    //message.setFlag(Flags.Flag.SEEN, true);
                }
                 
            }
            //inbox.setFlags(messages, new Flags(Flags.Flag.SEEN),true);
       */
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } finally {
            try {
               
                if (store != null) {
                    store.close();
                    store = null;
                }
            } catch (MessagingException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
       /**
         * 获取文件夹 这里是收件箱
         *
         * @param store
         * @param readOnly
         * @return
         * @throws MessagingException
         */
        private static IMAPFolder getInboxFolder(Store store, boolean readOnly)
                throws MessagingException {
            IMAPFolder folder = (IMAPFolder) store.getFolder("INBOX");
            if (!folder.isOpen()) {
                if (readOnly) {
                    folder.open(Folder.READ_ONLY);
                } else {
                    folder.open(Folder.READ_WRITE);
                }

            }
            return folder;
        }

分享到:
评论

相关推荐

    java 发送邮件 里面包含了遇到异常情况的解决办法

    javax.mail.MessagingException: Could not connect to SMTP host: zxkaka.com, port: 25; 出现这个问题时,我在foxmail 以及 outlook都可以发送邮件的。 免得自己以后忘记,在源码里注释写的很清楚

    envelope.rar_envelope_envelope matlab_matlab envelope_matlab en

    标题中的"envelope.rar_envelope_envelope matlab_matlab envelope_matlab en"暗示了这是一个与MATLAB编程相关的压缩包,具体来说是关于“envelope”(包络)函数的实现。MATLAB是一种广泛用于数值计算、数据分析和...

    envelope.m.rar_ envelope_envelope matlab_matlab envelope_matl

    标题中的"envelope.m.rar"表明这是一个压缩文件,其中包含一个名为"envelope.m"的MATLAB函数。MATLAB是一种广泛用于科学计算、数据分析和工程应用的编程环境,而".m"文件是MATLAB的脚本或函数文件。描述中提到这个...

    bad envelope tag

    java error:bad envelope tag :title

    IBX soap 1.2 envelope specification

    根据提供的文件信息,本文将详细介绍基于XML形式的XCBL文件在IBX平台上传输封包的规范,即“IBX soap 1.2 envelope specification”。该规范涉及到了SOAP(简单对象访问协议)的基础知识、XML声明、SOAP信封结构、...

    envelope_matlab.rar_matlab envelope_matlab 包络_matlab 包络谱_包络_包络谱

    本教程将详细介绍如何在MATLAB中进行包络分析,并通过提供的两个脚本文件`envelope_s.m`和`emd_blx.m`来理解其工作原理。 首先,让我们解释一下什么是包络。在信号处理中,包络通常指的是一个信号的幅度变化轮廓,...

    imap详细解释挺好

    服务器返回了包括邮件各个部分的详细数据,如`ENVELOPE`、`BODY`等。 IMAP协议的强大之处在于其支持对邮件的实时操作,比如标记已读/未读、移动邮件到其他文件夹、存储草稿等,而无需将邮件全部下载到本地。此外,...

    Python库 | envelope-1.4.tar.gz

    "envelope-1.4.tar.gz" 是一个与Python相关的压缩包,它包含了名为"envelope-1.4"的库的源代码或资源。这个库可能是用于特定功能或任务的软件组件,方便开发者在他们的项目中快速集成和利用。 **Python库的作用** ...

    Envelope 2 - MetaTrader 4EA.zip

    在提供的文件列表中,"Bb_0_1.mq4"是一个MQL4源代码文件,很可能是名为"Envelope 2"的智能交易系统的组成部分。"Bb"通常代表"Bollinger Bands",一种非常流行的金融技术指标,用于识别市场的波动性和趋势。Bollinger...

    A digital envelope detection filter for real-time operation

    A time-domain method to extract the envelope of an amplitude modulated signal at high speed is presented. This method, the envelope detection filter (EDF), is based on a nonlinear function of two ...

    Laravel开发-log-envelope

    最后,调用`Mail::to()`发送邮件。 4. **注册自定义处理器** 在`logging.php`配置文件中,添加新创建的通道到`channels`数组中,并在`default`选项下指定使用这个新的通道。这样,所有未定向到其他通道的日志都将...

    envelope.m 包络线

    信号 包络线 信号 MATLAB的 M 文件 验证过的很好用

    Envelope pulsed ultrasonic distance measurement system based upon amplitude...

    文献:Envelope pulsed ultrasonic distance measurement system based upon amplitude modulation and phase modulation 关键词:自干涉;超声波

    HASP-HL-Envelope.rar_HASP-HL-Envelope_envelope_hasp_hasp hl_hasp

    Hasp HL Envelope Tutorial

    HFRT.zip_envelope_envelope spectrum_zip

    标题中的“HFRT.zip_envelope_envelope spectrum_zip”暗示了我们正在处理一个与信号处理相关的主题,特别是关于“包络谱”的计算。包络谱是分析信号时的一个关键概念,尤其是在通信、音频处理和雷达系统等领域。在...

    envelope (1).zip

    标题 "envelope (1).zip" 提示我们这个压缩包可能与红包相关的程序或系统有关,而描述中的 "金额固定/随机金额" 暗示这可能是实现抢红包功能的一个软件项目,其中包含了处理红包金额分配的算法,既支持固定金额也...

    Sentinel LDK Envelope保护Java程序的说明.zip_Sentinel envelope_dollsgo_l

    Sentinel LDK Envelope是Safenet公司提供的一种高级软件保护解决方案,专为Java应用程序设计。这个技术主要用于防止非法复制、逆向工程和未经授权的使用软件。在本篇讨论中,我们将深入理解Sentinel LDK Envelope的...

    Xflr5资源:Point_Out_Of_Flight_Envelope

    关于Xflr5软件和“Point is out of flight envelope”问题的详细知识点如下: Xflr5是一个航空工程软件,被广泛应用于飞行器设计领域,尤其针对翼型和整个飞机模型的气动分析。该软件提供了一系列工具,比如线性...

    envelopeanalysismatlab-master_matlab_envelope_信号处理_slipmvd_振动程序_

    在本资源中,"envelopeanalysismatlab-master_matlab_envelope_信号处理_slipmvd_振动程序_"是一个与MATLAB相关的项目,主要涉及信号处理中的包络分析技术,特别是针对振动信号的处理。这个项目可能包含了实现包络...

    Envelope.exe

    商战-信封文件生成工具

Global site tag (gtag.js) - Google Analytics