通过IMAP从Gmail“所有邮件”文件夹中删除邮件


Delete message from Gmail "All Mail" folder via IMAP

我正在使用RFC 3501通过IMAP访问Gmail所有邮件文件夹。我需要从文件夹中删除邮件(移至废纸篓或永久删除)。以下命令似乎不起作用:

UID STORE 123 +FLAGS ('Deleted)
EXPUNGE

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

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

找到部分答案。

要将垃圾箱

设置为标签,我们需要使用"''''垃圾箱"作为标签。以下是将邮件移至废纸篓(删除收件箱标签和添加回收站标签)的命令。

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

现在,我被困在如何永久删除邮件上。

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

// 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

刚刚尝试过,它有效。