Java 阅读收件箱中的所有邮件

Java 阅读收件箱中的所有邮件,java,inbox,Java,Inbox,它只从收件箱中读取新邮件,而我想读取所有邮件。 如何实现 Folder folderInbox = store.getFolder("INBOX"); folderInbox.open(Folder.READ_ONLY) Message[] arrayMessages = folderInbox.getMessages(); 请您尝试一下方法Message[]messages=inbox.getMessages(startMessage,endMessage)而不是Message[]array

它只从收件箱中读取新邮件,而我想读取所有邮件。 如何实现

Folder folderInbox = store.getFolder("INBOX");
folderInbox.open(Folder.READ_ONLY)
Message[] arrayMessages = folderInbox.getMessages();

请您尝试一下方法
Message[]messages=inbox.getMessages(startMessage,endMessage)
而不是
Message[]arrayMessages=folderInbox.getMessages()

这里startMessage和endMessage是整数值。这是一个很好的例子-

文件夹收件箱=store.getFolder(“收件箱”); 收件箱。打开(文件夹。读写);//Folder.READ_ONLY int messageCount=inbox.getMessageCount(); System.out.println(“总消息”+消息计数); int startMessage=messageCount-5; int endMessage=messageCount; if(messageCount<5){ startMessage=0; } Message[]messages=inbox.getMessages(开始消息,结束消息);
我尝试了上述方法。。但我仍然将messageCount设置为0。messageCount始终提供收件箱中的邮件总数。您的SMTP是否已全部设置,并在阅读后保留电子邮件。仅供参考,许多SMTP确实会在从服务器收件箱发送邮件后删除电子邮件。检查的一种方法是连接到gmail收件箱,看看你的程序是如何运行的。这是代码。。。。你也可以试试。。。因为我的邮件不会被SMTP从收件箱中删除。我已经做到了。虽然每次我下载的时候,本地文件夹中的文件都会被替换。太好了,也请发布你的答案。谢谢
    Folder inbox = store.getFolder("inbox");
    inbox.open(Folder.READ_WRITE); // Folder.READ_ONLY
    int messageCount = inbox.getMessageCount();
    System.out.println("Total Messages" + messageCount);
    int startMessage = messageCount - 5;
    int endMessage = messageCount;

    if (messageCount < 5) {
        startMessage = 0;
    }

    Message[] messages = inbox.getMessages(startMessage, endMessage);