【问题标题】:How get the special-use attributes for IMAP mailboxes using Indy?如何使用 Indy 获取 IMAP 邮箱的特殊用途属性?
【发布时间】:2015-06-04 12:18:21
【问题描述】:

RFC 6154,“特殊用途邮箱的 IMAP LIST 扩展”,声明LIST 命令的结果应该包含每个列出的邮箱的特殊用途属性。

但是,在 Indy 的 TIdMailBoxAttributes 中,我没有找到它们。他们应该是/All/Archived/Draft等,但我看到NoinferiorsNoselect等。

显然这些是不同的属性。

如何访问这些特殊用途属性?


在一些来源潜水后更新: 我认为这很容易通过扩展IdMailBox 单元中的MailBoxAttributes 常量并因此更改IdIMAP4 中的IdIMAP4.ParseMailBoxAttributeString 方法来实现?

【问题讨论】:

  • 你连接的是什么服务器?
  • @legoscia ATM,我正在 Google 服务器上进行测试。

标签: delphi imap indy indy10


【解决方案1】:

Indy 的TIdIMAP4TIdIMAP4Server 组件尚不支持特殊用途属性。 Indy 的问题跟踪器中有该功能的公开票:

为特殊用途邮箱添加对 IMAP LIST 扩展的支持
http://code.google.com/p/indyproject/issues/detail?id=257
http://indy.codeplex.com/workitem/24462

【讨论】:

  • 谢谢,雷米。如果我今天需要它们,我的修补建议是否指向正确的方向?
  • ParseMailBoxAttributeString() 目前未被InternalParseListResult() 使用(事实上,ParseMailBoxAttributeString() 根本没有被使用),所以你必须添加它,并找到一个存储的地方解析后的属性(这是 Indy 尚未实现此功能的主要原因)。您必须更新ListMailBoxes()ListInferiorMailBoxes()ListSubscribedMailBoxes() 以在LIST 命令中包含RETURN (SPECIAL-USE) 子句(仅当CAPABILITY 响应包含SPECIAL-USE 时)才能检索属性用于解析。
  • 我看到这个功能是在 2013 年提出的。我可以通过在某个地方投票几次来提高它的排名吗? ;)
  • 两个跟踪器系统都有一个投票系统(尽管 Google 代码是 closing soon)。您可以随心所欲地增加投票计数,这并不意味着我将有空闲时间来实施它。我会尽快处理它。我还没有实现它的主要原因是因为它可能需要interface 更改,这会阻止 Embarcadero 在 RADStudio 服务包中包含 Indy 更新(尽管我偶尔会忽略这一点无论如何都要更改界面!)。
  • 了解时间问题;你正在创造奇迹。我只是尝试将一些东西粘合在一起以从服务器获取信息,这有望持续到它在 Indy 中实现。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-04-10
  • 1970-01-01
  • 1970-01-01
  • 2019-05-24
  • 2011-05-30
  • 1970-01-01
  • 2011-05-30
相关资源
最近更新 更多