没有做过 javamail  ! 帮你UP!

解决方案 »

  1.   

    谢谢好心人:viano(纯粹灌水!) !!
      

  2.   

    已经能够setFlag表明的你的程序已经能够找到所需要的类javax.mail.Flags.Flag,            
    设置Flag可以使用以下语句,
    message[i].setFlag(Flags.Flag.DELETED, true);// Check DELETED flag or not
    读取可以使用:
    message[i].isSet(Flags.Flag.DELETED) 判断其返回值,其返回值为true / false,依次类推。
    不能直接读取其Flag,但能判断是否已设置为某个Flag.
      

  3.   

    删除消息涉及到操作与消息关联的标志。对不同的状态有不同的标志,有些标志是系统定义的,有些则是由用户定义的。预定义的标志都是在内部类Flags.Flag中定义的,如下所示:Flags.Flag.ANSWEREDFlags.Flag.DELETEDFlags.Flag.DRAFTFlags.Flag.FLAGGEDFlags.Flag.RECENTFlags.Flag.SEENFlags.Flag.USER仅仅因为标志存在,并不表示标志为所有的邮件服务器/提供程序所支持。例如,除了删除消息外,POP协议对它们都不支持。检查新邮件不是POP的任务,但它已内置到邮件客户程序中。要搞清楚什么标志受到支持,可以使用getPermanentFlags()方法来询问文件夹。要删除消息,需要为消息设置DELETE标志:message.setFlag(Flags.Flag.DELETED, true);第一次以READ_WRITE(读-写)模式打开文件夹:folder.open(Folder.READ_WRITE);然后,处理完了所有的消息,请关闭文件夹,并传递true值以擦去删除的消息。folder.close(true);用户可使用Folder类的expunge()方法来删除消息。但是,该方法对Sun公司的POP3提供程序不起作用。其他提供程序或许能也或许不能实现其功能。它更有可能适用于IMAP提供程序。由于POP只支持对收件箱的简单访问,使用Sun公司的提供程序时,您将不得不关闭文件夹以删除消息。要移去标志,只需传递一个false值给setFlag()方法。要看看是否设置了某个标志,可以使用isSet()进行检查。
      

  4.   

    你用的是什么邮件协议如果是pop3是读不出来的。
    如果使用imap协议读邮件。标记是肯定可以读出来的。
      

  5.   

    我的getPermanentFlags()返回的值转化成字符串是:javax.mail.Flags@0不知道是否支持Flag??
      

  6.   

    问题解决啦,我把pop3协议换成imap协议就行啦,谢谢大家的帮助!!
      

  7.   

    谁说pop3协议不行啊,我用的就是pop3,同样可以的呀,如果大家需要就把跟我联系