使用 curl 通过 imap 删除消息
Deleting a message over imap using curl
我正在做一个项目,我需要在 imap 服务器上的收件箱中读取消息,处理它,然后从收件箱中删除电子邮件。
我可以顺利收到邮件,没有任何问题,我遇到的问题是删除。
我可以使用以下方法获取电子邮件:
curl --url "imaps://imap.gmail.com:993/inbox;UID=1" --user "user:password"
这对于接收电子邮件非常有效,我成功地处理了它,所以现在当我尝试删除它时,我使用以下方法:
curl --url "imaps://imap.gmail.com:993/inbox;UID=1" --user "user:password" -X 'UID STORE 1 +Flags \Deleted'
但我随后收到以下回复:
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'
我想知道你是否应该使用双引号而不是单引号?
curl --url "imaps://imap.gmail.com:993/inbox;UID=1" --user "user:password" -X 'UID STORE 1 +Flags \Deleted'
应该是:
curl --url "imaps://imap.gmail.com:993/inbox;UID=1" --user "user:password" -X "UID STORE 1 +Flags \Deleted"
看起来 "STORE" 等被 curl 解释为它试图将其视为 URL 的单独参数。
我终于找到了答案,gmail 似乎与其他所有示例都略有不同,但找到了一个有效的示例:
以下作品:
curl --url "imaps://imap.gmail.com:993/Inbox;UID=1" --user "user:password" -X "STORE 1 +Flags \Deleted"
其次是
curl --url "imaps://imap.gmail.com:993/Inbox;UID=1" --user "user:password" -X "EXPUNGE"
我正在做一个项目,我需要在 imap 服务器上的收件箱中读取消息,处理它,然后从收件箱中删除电子邮件。
我可以顺利收到邮件,没有任何问题,我遇到的问题是删除。
我可以使用以下方法获取电子邮件:
curl --url "imaps://imap.gmail.com:993/inbox;UID=1" --user "user:password"
这对于接收电子邮件非常有效,我成功地处理了它,所以现在当我尝试删除它时,我使用以下方法:
curl --url "imaps://imap.gmail.com:993/inbox;UID=1" --user "user:password" -X 'UID STORE 1 +Flags \Deleted'
但我随后收到以下回复:
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'
我想知道你是否应该使用双引号而不是单引号?
curl --url "imaps://imap.gmail.com:993/inbox;UID=1" --user "user:password" -X 'UID STORE 1 +Flags \Deleted'
应该是:
curl --url "imaps://imap.gmail.com:993/inbox;UID=1" --user "user:password" -X "UID STORE 1 +Flags \Deleted"
看起来 "STORE" 等被 curl 解释为它试图将其视为 URL 的单独参数。
我终于找到了答案,gmail 似乎与其他所有示例都略有不同,但找到了一个有效的示例:
以下作品:
curl --url "imaps://imap.gmail.com:993/Inbox;UID=1" --user "user:password" -X "STORE 1 +Flags \Deleted"
其次是
curl --url "imaps://imap.gmail.com:993/Inbox;UID=1" --user "user:password" -X "EXPUNGE"