c++ - 邮件程序是如何在启动时如此快速地显示消息列表的?

标签 c++ delphi vba imap

我正在开发一个连接到邮件服务器并将邮件 header 加载到 ListView 中的 IMAP 客户端应用程序。

在我的应用程序中,加载需要很长时间。我已将其设置为在启动应用程序时连接并加载消息。

我看到当其他使用 IMAP 的电子邮件客户端加载时,所有消息都会立即出现,即使列表中有 500 条消息也是如此。

他们是怎么做到的?在应用程序关闭之前,他们是否真的保存了最后一个列表?其他方式?

最佳答案

是的,电子邮件客户端应用程序通常会在本地缓存下载的消息以提高性能,然后定期与服务器重新同步以解决随时间推移执行的更改。对于 IMAP,它可以在添加/删除/移动电子邮件时实时通知客户端(尽管 Indy 的 TIdIMAP4 尚不支持该功能),但您必须手动重新同步启动以说明应用未运行时发生的更改。

关于c++ - 邮件程序是如何在启动时如此快速地显示消息列表的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20641289/

相关文章:

c++ - Visual Studio 2010,包含openssl问题

c++ - 像 Adob​​e Photoshop 一样的 OpenCV 和 USM 锐化

c++ - 在 C++ 中,当表达式涉及该对象时,将表达式分配给对象时是否有定义的操作顺序?

excel - 复制/粘贴范围(单元格(

vba - 电子邮件宏每 40 - 50 封电子邮件暂停一次

c++ - 通过 C++ 中附加子类的友元访问 protected 基类是否合法?

delphi - Hook TNotifyEvent/寻找使用方法和过程指针的正确方法

delphi - 如何等待命令行程序完成?

delphi - 为什么 "for I := 0to aList.Count-1 do"缺少空格也能工作?

excel - 无法在 VBA、Excel 2012 中正确设置日期格式