从最新到最旧的Java Mail API检索电子邮件 public类邮件{ Properties=null; 私有会话=null; 私有存储=空; 私人文件夹收件箱=空; 私有字符串用户名=”xxx@gmail.com"; // 私有字符串密码=“xxx”; 公共邮件(){ } public void readmail()引发异常{ 属性=新属性(); setProperty(“mail.host”、“imap.gmail.com”); properties.setProperty(“mail.port”、“995”); properties.setProperty(“mail.transport.protocol”、“imaps”); session=session.getInstance(属性, 新的javax.mail.Authenticator(){ 受保护的密码身份验证getPasswordAuthentication(){ 返回新密码身份验证(用户名、密码); } }); 试一试{ store=session.getStore(“imaps”); store.connect(); 收件箱=store.getFolder(“收件箱”); 收件箱。打开(文件夹。只读); messages[]=收件箱。搜索(新标记词( 新标志(Flag.SEEN,false)); System.out.println(“邮件数=”+消息长度); 用于(消息:消息){ 地址[]发件人=message.getFrom(); System.out.println(“------------------------------------”; System.out.println(“日期:+message.getSentDate()); System.out.println(“From:+From[0]); System.out.println(“主题:+message.getSubject()); System.out.println(“内容:”); 对象内容=message.getContent(); 多部分多部分=(多部分)内容; 过程多部分(多部分); System.out.println(“-------------------------------------”); } 收件箱。关闭(true); store.close(); } 捕获(无此提供异常e) { e、 printStackTrace(); }捕获(消息异常e){ e、 printStackTrace(); } } public void procesMultiPart(多部分内容)引发异常{ int multiPartCount=content.getCount(); for(int i=0;i

从最新到最旧的Java Mail API检索电子邮件 public类邮件{ Properties=null; 私有会话=null; 私有存储=空; 私人文件夹收件箱=空; 私有字符串用户名=”xxx@gmail.com"; // 私有字符串密码=“xxx”; 公共邮件(){ } public void readmail()引发异常{ 属性=新属性(); setProperty(“mail.host”、“imap.gmail.com”); properties.setProperty(“mail.port”、“995”); properties.setProperty(“mail.transport.protocol”、“imaps”); session=session.getInstance(属性, 新的javax.mail.Authenticator(){ 受保护的密码身份验证getPasswordAuthentication(){ 返回新密码身份验证(用户名、密码); } }); 试一试{ store=session.getStore(“imaps”); store.connect(); 收件箱=store.getFolder(“收件箱”); 收件箱。打开(文件夹。只读); messages[]=收件箱。搜索(新标记词( 新标志(Flag.SEEN,false)); System.out.println(“邮件数=”+消息长度); 用于(消息:消息){ 地址[]发件人=message.getFrom(); System.out.println(“------------------------------------”; System.out.println(“日期:+message.getSentDate()); System.out.println(“From:+From[0]); System.out.println(“主题:+message.getSubject()); System.out.println(“内容:”); 对象内容=message.getContent(); 多部分多部分=(多部分)内容; 过程多部分(多部分); System.out.println(“-------------------------------------”); } 收件箱。关闭(true); store.close(); } 捕获(无此提供异常e) { e、 printStackTrace(); }捕获(消息异常e){ e、 printStackTrace(); } } public void procesMultiPart(多部分内容)引发异常{ int multiPartCount=content.getCount(); for(int i=0;i,java,jakarta-mail,Java,Jakarta Mail,在上面的代码中,我可以通过gmail在我的主机上从最老的邮件到最新的邮件。然而,我希望它从最新的循环到最旧的。我有没有办法做到这一点。请帮助:)我认为JavaMail API中没有用于此的参数或方法。您必须自己反转消息数组,例如包括库: 或者在另一个方向上迭代: messages = ArrayUtils.reverse(messages); messages = ArrayUtils.reverse(messages); for (int i = messages.length - 1;

在上面的代码中,我可以通过gmail在我的主机上从最老的邮件到最新的邮件。然而,我希望它从最新的循环到最旧的。我有没有办法做到这一点。请帮助:)

我认为JavaMail API中没有用于此的参数或方法。您必须自己反转
消息
数组,例如包括库:

或者在另一个方向上迭代:

messages = ArrayUtils.reverse(messages);
messages = ArrayUtils.reverse(messages);
for (int i = messages.length - 1; i >= 0; i--) {
    Message message = messages[i];