Javamail 未读消息返回最后一条消息而不是未读消息

标签 java jakarta-mail

这是我的代码,它应该会收到未读消息。然而,它正在返回我收件箱中的最后一条消息。有什么建议吗?

import javax.mail.*;
import javax.mail.internet.*;
import javax.mail.search.*;
import java.util.*;
import com.sun.mail.pop3.POP3SSLStore;

public class MailClient {
public static void main(String[] args) {
    try {
      Properties props = new Properties();
      props.setProperty("mail.pop3.connectionpooltimeout", "3000");
      props.setProperty("mail.pop3.connectiontimeout", "3000");
      props.setProperty("mail.pop3.timeout", "3000");

      Session session;

          URLName url = new URLName("pop3","pop.gmail.com",995,"","email@gmail.com","pwd");
    session = Session.getInstance(props, null);
    Store store = new POP3SSLStore(session,url);
    store.connect();

    Folder folder = store.getFolder("INBOX");
    folder.open(Folder.READ_ONLY);

    Flags seen = new Flags(Flags.Flag.SEEN);
    FlagTerm unseenFlagTerm = new FlagTerm(seen,false);
    Message message[] = folder.search(unseenFlagTerm); 

    for (int i=0, n = message.length;i<20;i++) {
        System.out.println("Message " + (i + 1));
                    System.out.println("From : " + message[i].getFrom()[0]);
                    System.out.println("Subject : " + message[i].getSubject());
                    System.out.println("Sent Date : " + message[i].getSentDate());
    }
    folder.close(false);
    store.close();
    }
    catch (MessagingException e) {
            System.out.println("Error: " + e);
        }
    }
}

最佳答案

POP3协议(protocol)不支持任何标志,因此它无法告诉您邮件是否已被阅读。请参阅javadocs for the com.sun.mail.pop3 package for more information .

关于Javamail 未读消息返回最后一条消息而不是未读消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12967591/

相关文章:

java - 无法将children.class添加到parent.class集中

循环中的 Java JMenuItem

JavaMail 保存密码

tomcat - 没有 smtp 提供商

java - 使用假 smtp 服务器生成 MailSendException

java - 通过 Java 发送邮件时出现异常

由于未知协议(protocol) : blob,java.net.URL 类抛出 MalformedException

java - 在eclipse运行时错误中运行android项目时出错

java - 如何显示存储为 BLOB 的图像?

java - 如何将 javax.mail.BodyPart 内容转换为 UTF-8 干净文本?