使用curl删除imap上的消息

Boa*_*rdy 8 curl imap gmail-imap

我正在开发一个项目,我需要在imap服务器上的收件箱中阅读邮件,处理它,然后从收件箱中删除电子邮件.

我可以成功地收到电子邮件没有任何问题,我遇到的问题是删除.

我可以使用以下方式获取电子邮件:

curl --url "imaps://imap.gmail.com:993/inbox;UID=1" --user "user:password"
Run Code Online (Sandbox Code Playgroud)

这对于获取电子邮件非常合适,我成功处理它没有问题所以现在当我尝试删除它时我使用以下内容:

curl --url "imaps://imap.gmail.com:993/inbox;UID=1" --user "user:password" -X 'UID STORE 1 +Flags \Deleted'
Run Code Online (Sandbox Code Playgroud)

但我得到以下回应:

curl: (21) Quote command returned error
curl: (6) Could not resolve host: STORE
curl: (6) Could not resolve host: 1
curl: (6) Could not resolve host: +Flags
curl: (6) Could not resolve host: \Deleted'
Run Code Online (Sandbox Code Playgroud)

Boa*_*rdy 4

我终于找到了答案,似乎 gmail 与其他每个示例都略有不同,但找到了一个有效的示例:

以下作品:

curl --url "imaps://imap.gmail.com:993/Inbox;UID=1" --user "user:password" -X "STORE 1 +Flags \Deleted"
Run Code Online (Sandbox Code Playgroud)

其次是

curl --url "imaps://imap.gmail.com:993/Inbox;UID=1" --user "user:password" -X "EXPUNGE"
Run Code Online (Sandbox Code Playgroud)