【问题标题】:Delete message from Gmail "All Mail" folder via IMAP通过 IMAP 从 Gmail“所有邮件”文件夹中删除邮件
【发布时间】:2012-06-02 17:31:04
【问题描述】:

我正在使用 RFC 3501 通过 imap 访问 Gmail All Mail 文件夹。我需要从文件夹中删除一条消息(移至垃圾箱或永久删除)。以下命令似乎不起作用:

UID STORE 123 +FLAGS (\Deleted)
EXPUNGE

我可以使用X-GM-LABELS 修改标签,但没有添加“垃圾箱”标签的选项。

RFC 3501 没有“MOVE”命令,因此我需要将邮件复制到“垃圾箱”文件夹,然后将其从父文件夹中删除。有什么出路??

谢谢。

找到部分答案。

要将垃圾箱设置为标签,我们需要使用“\\Trash”作为标签。以下是将邮件移至垃圾箱的命令(删除收件箱标签并添加垃圾箱标签)。

UID STORE 123 -X-GM-LABELS (\\Inbox)
UID STORE 123 +X-GM-LABELS (\\Trash)

现在,我不知道如何永久删除该消息。

【问题讨论】:

    标签: php imap flags gmail-imap


    【解决方案1】:

    这些命令会永久删除消息:

    // sequence number 123, 234 are the same message in different folders
    SELECT "[Gmail]/AllMail"
    COPY 123 "[Gmail]/Trash"
    CLOSE
    
    SELECT "[Gmail]/Trash"
    STORE 234 +FLAGS (\Deleted)
    EXPUNGE
    

    刚刚试了一下,效果很好。

    【讨论】:

      猜你喜欢
      • 2012-01-02
      • 2014-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-11
      • 2014-03-09
      相关资源
      最近更新 更多