gpt4 book ai didi

gmail - IMAP 客户端如何以编程方式取消 Gmail 标签重命名

转载 作者:行者123 更新时间:2023-12-02 00:04:01 24 4
gpt4 key购买 nike

我正在开发电子邮件客户端应用程序并使用 GMAIL IMAP condstore 功能来同步标签、已读和未读更改。

我的申请流程如下所示。

1) 初始选择“Gmail/所有邮件”
2) 从服务器获取自上次与上次 modseq 同步以来的更改,例如 获取 1:* (X-GM-LABELS) (CHANGEDSINCE highestmodseq)

此处 IMAP 服务器返回自上次同步以来检测到的标签、已读和未读更改的邮件。

假设我有标签“A”,它有 100 封电子邮件。现在,如果删除标签 A,则服务器返回 100 条消息作为更改,它按预期工作。

但是如果标签“A”被重命名为标签“B”,那么服务器应该返回 100 条消息作为更改,但它不会。

能否请您建议如何同步以前在标签 A 下并重命名为标签 B 的消息

PS:根据 IMAP 服务器标准,标签的唯一性是根据标签名称和 uid 有效性来识别的。

Gmail 标签正在使用“LIST“”“*””进行检索。

假设如果标签被重命名为其他东西,那么如何找到它是新创建的标签还是重命名的标签

谢谢苏比雷迪

最佳答案

PS: According to IMAP server standards uniqueness of a label is identified based on label name and uid validity.

这不是真的。 IMAP 协议(protocol)没有定义“标签”。它定义了什么是“邮箱”,并且每封邮件都有一组“标志”或“关键字”。

当 GMail 决定实现 IMAP 时,他们做出了一个不幸的选择,将他们的标签概念强加于邮箱之上,而不是重用现有的标志元数据。 (他们有一些理由,其中一些是有效的,一些是无效的,并且该讨论超出了 stackoverflow 的范围。)

But in case if label "A" is renamed to Label "B" then server should return 100 messages as changes but it won't.

这种理解当然有道理。 GMail 行为不同的事实从 IMAP 客户端的角度来看令人失望。我建议将此问题提交给 GMail 的开发人员;他们确实阅读了 ietf-imapext 邮件列表。

关于gmail - IMAP 客户端如何以编程方式取消 Gmail 标签重命名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19571456/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com