Удаление сообщения поверх imap с помощью curl - PullRequest
0 голосов
/ 26 октября 2018

Я работаю над проектом, в котором мне нужно прочитать сообщения в папке «Входящие» на сервере 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'

Ответы [ 2 ]

0 голосов
/ 30 октября 2018

Я наконец нашел ответ, похоже, что 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"
0 голосов
/ 26 октября 2018

Интересно, должны ли вы использовать двойные кавычки вместо одинарных?

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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...