首页 > 代码库 > (转)JavaMail中的Flag(邮件状态)

(转)JavaMail中的Flag(邮件状态)

本文转载自:http://blog.csdn.net/chjttony/article/details/6005594

标记邮件就是把邮件标记为已读,删除等操作,需要使用Flags类,它mail.jar包中的Flags类代表以组邮件标记的集合,邮件标记用于标示邮件的使用情况,例如邮件的删除标记、已读标记等。JavaMail中的邮件标记分为系统标记和用户标记,系统标记指Flags.Flag这个内部类中表示的邮件标记,用户标记指用户自定义的标记。

Flags.Flag类:是Flags的内部类,以定义了一些常量类分别表示各种不同的邮件标记,这些邮件标记都是系统标记。如下所示:

 

      

Flags.Flag.ANSWERED

邮件回复标记,标识邮件是否已回复。

Flags.Flag.DELETED

邮件删除标记,标识邮件是否需要删除。

Flags.Flag.DRAFT

草稿邮件标记,标识邮件是否为草稿。

Flags.Flag.FLAGGED

表示邮件是否为回收站中的邮件。

Flags.Flag.RECENT

新邮件标记,表示邮件是否为新邮件。

Flags.Flag.SEEN

邮件阅读标记,标识邮件是否已被阅读。

Flags.Flag.USER

底层系统是否支持用户自定义标记,应用程序只能检索这个属性,而不能设置这个属性。

标记邮件的操作如下:

(1).设置邮件标记:

    //设置标记时需要以读写权限打开收件箱  
    Folder.open(Folder.READ_WRITE);  
    //设置标记  
    Message.setFlag(标记,true);  
    Message.saveChanges();  

(2).清除邮件标记

    //清除邮件标记时也需要以读写权限打开收件箱  
    Folder.open(Folder.READ_WRITE);  
    //获取邮件标记  
    Flags flags=message.getFlags();  
    If(flags.contains(Flags.Flag))  
    {     //清除邮件标记  
           Message.setFlag(Flags.Flag,false);  
    }  
    Message.saveChanges();