В статье будет описана работа с протоколом IMAP, на примере очистки папки сообщений от системы мониторинга, в моём случае эта папка называется alerts.
1. Чтобы подключиться к почтовому серверу, работающему на IMAP используя шифрование SSL/TLS необходимо в консоли выполнить команду:
openssl s_client -crlf -ign_eof -connect mail.mailserver.com:993
сервер выдаст кучу информации, последней строкой будет
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE AUTH=PLAIN AUTH=LOGIN AUTH=CRAM-MD5 AUTH=DIGEST-MD5] MAIL
2. Далее, авторизуемся:
. login [email protected] мойпароль
Сервер должен ответить:
. OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS SPECIAL-USE BINARY MOVE] Logged in
В противном случае неверное имя или пароль и нужно будет снова переходить к п.1
3. Получаем список папок нашего аккаунта:
. list """*"
Ответом должно быть что-то вроде этого:
* LIST (\HasNoChildren) "." blabla * LIST (\HasNoChildren) "." Trash * LIST (\HasNoChildren) "." Drafts * LIST (\HasNoChildren) "." Sent * LIST (\HasNoChildren) "." alerts * LIST (\HasNoChildren) "." INBOX . OK List completed.
4. Получить количество сообщений в любой из вышеуказанных папок можно командой:
. status alerts (messages)
Вместо alerts может быть любая папка из списка выше. В моём случае, сообщения из nagios-а храняться в папке alerts, поэтому чистить буду именно эту папку.
5. Удаляем папку alerts, где, в моём случае, хранятся сообщения от системы мониторинга:
. delete alerts
Снова должно быть сообщение OK
6. Создаём папку alerts снова:
. create alerts
Таким образом я быстро удалил 16к писем и почтовик прогрузил оставшиеся 500 достаточно быстро.
7. Отключение
. logout
P.S. если Вы используется Mozilla Thunderbird, также может потребоваться удалить вручную файлы этой папки из ~/.thunderbird/BLABLA.default/ImapMail/mail.mailserver.com/ (alerts.msf и alerts)