Jakarta mail 使用Java从office365 Outlook帐户读取电子邮件
我们需要读取来自Office365帐户的电子邮件,并在Java EE应用程序中显示它们。我们已经使用JavaMail完成了它,并且它的工作与预期一样;但问题在于性能。根据邮件或附件的大小,阅读电子邮件大约需要30秒到3分钟。我们有什么办法可以提高这个性能吗?以下是我们采取的方法的更多细节Jakarta mail 使用Java从office365 Outlook帐户读取电子邮件,jakarta-mail,office365,Jakarta Mail,Office365,我们需要读取来自Office365帐户的电子邮件,并在Java EE应用程序中显示它们。我们已经使用JavaMail完成了它,并且它的工作与预期一样;但问题在于性能。根据邮件或附件的大小,阅读电子邮件大约需要30秒到3分钟。我们有什么办法可以提高这个性能吗?以下是我们采取的方法的更多细节 我们正在使用IMAPStore检索邮件 我们需要阅读的电子邮件不在收件箱内。它位于它外部的另一个文件夹中。此文件夹也有子文件夹,其中包含根据主题过滤的电子邮件 在读取邮件时,我们从特定文件夹中读取邮件,然后在应
有了更多的细节,我们也许可以提供更多的提示,帮助您提高程序的性能。我提到的时间包括了所有时间。我们使用分页显示邮件,目前每页显示25封邮件。以下是我们正在执行的步骤。1.首先,我们登录邮件服务器并获取电子邮件总数。2.使用此计数,我们决定页数。3.然后,我们只读取前25封电子邮件的标题信息,同时检索附件的名称(如果有)。在所有这些时间里,我们显示一个“正在加载”的代码。一旦收到邮件服务器的响应,我们就加载屏幕,这需要时间。之后,当用户单击后续页面时,我们再次连接到服务器并获取接下来的25封邮件。关于JavaMail调试输出,我们将对此进行检查。是的,我们正在使用Folder.fetch。如果您愿意,我可以与您共享代码供您参考。您需要隔离程序中占用时间最多的部分。如果您认为是JavaMail部分,请将其隔离到一个程序中,该程序从服务器获取数据,但不做任何处理。如果仍然太慢,最有可能的问题是邮件服务器太慢,但是通过查看调试输出,我们可以确定您的工作是否效率低下,并可以改进与服务器的交互方式。您可以使用作为起点或Office365的性能测试。在对不同的操作进行计时后,我们发现登录邮件服务器需要10-15秒,然后读取邮件头信息和附件名称需要1秒。因此,仅显示25封电子邮件的标题需要超过35秒。我想你说的Office365速度慢是对的。是否有任何方法可以减少仅登录所需的时间。通常,在服务器验证您的身份验证信息时,大部分登录时间都在服务器上,因此您对此无能为力。您当然可以深入了解连接和登录的性能,但您可能会有所改进,但这不太可能。对于标题等,使用Folder.fetch方法通常会有很大帮助。发布调试输出或通过javamail发送给我_ww@oracle.com我们可以看看是否有进一步优化的可能。嘿,伙计们,问题解决了吗?你能帮我吗(stackoverflow.com/q/36483341/3703397)?