【问题标题】:IMAP - editing a draft or existing message?IMAP - 编辑草稿或现有消息?
【发布时间】:2013-06-01 10:55:17
【问题描述】:

对于那些熟悉 IMAP 的人 - 如果我检索到草稿消息(或任何与此相关的消息),并且我希望对其进行更新/编辑,我应该使用哪些命令?

我遇到的唯一命令是Append,它似乎只插入,意味着我必须从邮箱中删除以前的草稿?

【问题讨论】:

    标签: imap


    【解决方案1】:

    IMAP 设计用于邮箱的服务器端管理,而不是用于编辑邮件。所以是的,您必须检索所需消息的内容(FETCH),然后从服务器中删除该消息(STORE 消息上的\Deleted 标志,然后EXPUNGE 已删除消息),然后将更新后的消息上传到服务器 (APPEND)。没有用于编辑现有邮件内容的 IMAP 命令,仅用于更新与现有邮件相关的标志 (STORE)。

    【讨论】:

    • 确实,规范保证特定的消息对象(用 UID 标识)是不可变的。这是缓存邮件客户端的重要保证。能够编辑消息将破坏该保证。
    • 我只想补充一点,根据 RFC3501,UID 仅在会话 tools.ietf.org/html/rfc3501#page-8 内是不可变的
    • 可能需要编辑 IMAP 消息。随着 ZenDesk 电子邮件支持系统的普及,gmail + 所有客户端中的线程/convo 视图很容易中断。 Gmail 似乎使用了主题、收件人、发件人和日期范围的组合。我更喜欢使用回复 ID 和消息 ID。更改主题以恢复线程/convo 视图会很棒。还将我的原始电子邮件添加到线程/convo,而不是搜索支持 ID#。任何人都知道 IMAP 客户端可以简单地编辑主题 + 删除电子邮件标记为文件保存位置的附件?
    • 请注意,答案对DELETE 的引用并不完全准确。 IMAP 的DELETE 用于文件夹(或“邮箱”,如规范所称)。删除消息是通过 STOREEXPUNGE 的组合完成的。
    【解决方案2】:

    雷米的回答是正确的。最重要的是,如果服务器通过APPEND CATENATE 支持CATENATE 扩展,您可以稍微优化该过程(这样您就可以省去上传现有附件等)。

    【讨论】:

      猜你喜欢
      • 2010-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多