我必须使用POP3使用JavaMail不断阅读新的电子邮件。
我打算实施这样的解决方案:
lastRead
设为邮件编号lastRead
lastRead
它在小样本上工作正常,但我想知道如果服务器上的邮件数量超过2147483647会发生什么。
我看到如果我删除邮件(来自普通客户端),它对服务器返回给JavaMail或其号码的邮件数量没有影响。但是如果邮箱会溢出怎么办?我是否必须停止并重新开始申请?
文件夹的方法有int
个作为参数(我想我使用的getMessages
)。邮箱是否有可能有这么多消息?或者这些ID可能只是以某种方式重置?但这对我的申请也不会有好处。
答案 0 :(得分:1)
显然,由于JavaMail使用Java int来表示消息编号,如果有超过2 ^ 31-1个消息,它将无法工作。对于任何真正的邮箱而言,这似乎不大可能发生。如果您每秒开始收到一条新消息,那么在您达到该数字之前仍然需要68年。如果您的应用程序具有实际可能性,则应管理邮箱,使其永远不会变大,例如删除邮件或将邮件移动到存档邮箱(这需要使用IMAP)。
(多线程与此无关;我不知道Burak在想什么。)