1

Я пытаюсь очистить папку с мусором из терминала, но я не могу expunge ни один из элементов, присутствующих там.

Вот шаги, за которыми я следовал

> openssl s_client -connect imap.gmail.com:993 -crlf
> a001 login USER_NAME PASSWORD
> a002 select [GMAIL]/Trash

при котором я получаю ответ сервера как

* FLAGS (\Answered \Flagged \Draft \Deleted \Seen $NotPhishing $Phishing)
* OK [PERMANENTFLAGS (\Answered \Flagged \Draft \Deleted \Seen $NotPhishing $Phishing \*)] Flags permitted.
* OK [UIDVALIDITY xxxxxxxxx] UIDs valid.
* y EXISTS
* a RECENT
* OK [UIDNEXT zzz] Predicted next UID.
* OK [HIGHESTMODSEQ bbbbbbb]
a002 OK [READ-WRITE] [Gmail]/Trash selected. (Success)

После этого я попытался удалить один файл (хотя моя цель - удалить все), используя следующие команды

> a003 UID STORE zzz +FLAGS (\Delete)
a003 OK Success
> a004 UID EXPUNGE zzz
a004 OK Success

но почта не была удалена из корзины. Я также пытался turning auto-expunge off удаление и выбрать « Immediately delete the message forever разделе « When a message is marked as deleted and expunged from the last visible IMAP folder: .

Я не могу найти какую-либо документацию относительно команд, поэтому любая помощь будет принята с благодарностью.

1 ответ1

0

Исходя из вашего предыдущего вопроса, что zzz - это число, указанное в [UIDNEXT] , этот UID на самом деле еще не существует, и не является ошибкой изменять флаги несуществующего сообщения.

UIDNEXT представляет следующий ожидаемый UID, который в настоящее время не существует. Вы можете выполнить UID SEARCH ALL чтобы получить список назначенных в настоящее время UID, или вообще не использовать UID: порядковые номера сообщений: 1:Y (число в ответе EXISTS ).

Чтобы удалить все сообщения в Корзине, сначала выберите папку, а затем:

a001 STORE 1:* +FLAGS (\Deleted)
a002 EXPUNGE

(Спасибо @ a1626 за исправление моей команды STORE)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .