delphi - Indy IMAP 客户端的电子邮件到达通知 (Delphi 2009)

标签 delphi delphi-2009 imap indy10

我正在开发一个使用电子邮件收件箱作为其输入队列的守护程序应用程序。响应时间应尽可能长,服务器开销保持在最低限度,因此轮询电子邮件收件箱是不可能的。由于 IMAP 协议(protocol)支持新电子邮件通知,因此这对于应用程序来说是理想的选择。

但是,当我尝试在 Delphi/Indy 应用程序中实现此机制时,我遇到了麻烦。 TIdIMAP4 工作得很好(除了一些与我的情况无关的 Unicode 问题),但我找不到在其中实现通知的方法。

这应该是一个简单的 GIYF 问题,但由于一些我不知道的原因,我在网上搜索时找不到任何有关 Indy 组件的相关信息。

如果有解决方案或替代方法,我们将不胜感激。

编辑:由于 Indy 显然不支持异步电子邮件通知,有谁知道 delphi 的哪些免费组件可以实现这一点。

最佳答案

TIdIMAP4 不支持接收异步通知,例如新电子邮件通知。这需要将 TIdIMAP4 的实现更改为类似于 TIdTelnet 使用的多线程模型,但由于 TIdIMAP4 当前的阻塞命令/响应模型而更加复杂。目前,您必须定期轮询收件箱。

关于delphi - Indy IMAP 客户端的电子邮件到达通知 (Delphi 2009),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3161268/

相关文章:

algorithm - 当缺少 BOM(字节顺序标记)时,我如何才能最好地猜测编码?

php - 在 Ubuntu 11 上安装带有 IMAP/Kerberos 支持的 PHP 时出现问题

symfony - 尝试从命名空间调用函数 "imap_open"

delphi - 如何在Delphi 2009中声明静态变量?

delphi - 不兼容的类型 : 'Integer' and 'procedure, untyped pointer or untyped parameter'

delphi - 使 2 个表格能够相互重叠?

delphi - Lazarus 中是否有类似于 Delphi "Use debug DCUs"的选项

delphi - 在 Delphi 2009 中检测 TWebBrowser 刷新事件

perl - 如何连接到 Gmail 收件箱

delphi - 如何在 DelphiXE7 中列出所有 Windows 代码页标识符?