本节我们看看如何用JavaMail API消息邮件。删除邮件实际上是通过设置邮件的相关标识完成的。不同的消息状态有不同的标识,有些是系统定义的,有些是用户自定义的。预定义的消息标识在类Flags.Flag中,如下:
Flags.Flag.ANSWERED
Flags.Flag.DELETED
Flags.Flag.DRAFT
Flags.Flag.FLAGGED
Flags.Flag.RECENT
Flags.Flag.SEEN
Flags.Flag.USER
-
POP协议只支持删除消息。测试发现IMAP协议删除邮件成功。
基本操作步骤如下:
- 获取持有IMAP详情属性的Session对象。我们将使用POP详情查询消息
- 创建IMAP的Store对象并连接到Store
- 创建Folder对象并以读写模式(READ_WRITE)打开邮件中的相应文件夹
- 查询消息
- 遍历消息,键入Y或y就删除邮件,通过设置消息对象的Flag,即: setFlag(Flags.Flag.DELETED, true)
- 获取消息的所有信息(To、From、Subject、Content)
- 将消息标记为DELETE并不会真实地删除,知道我们调用Folder对象的expunge() 方法,或关闭Folder时设置参