Как стать автором
Обновить

Evolution, IMAP, Gmail — корректное удаление писем

Извесно, что удаление по IMAP писем в Gmail-ящике проходит не очень гладко: с удаляемого письма снимаются все ярлыки, но оно остается на сервере в папке "Вся почта".

Лично у меня скопилось таким образом около 1.5к писем. Конечно, не так уж много, но:
а) раздражает не-Ordnung;
б) немного откушивается место (обидно за зря пропадающие, хоть и чужие, ресурсы);
в) очень не хочется готовиться к экзамену.
Следствие: надо решать проблему. Особенно это интересно, когда на многих форумах ответом на вопрос является слово «невозможно».

Немного погуглив хелп и систему вопрос-ответ самого Гугла, посмотрев форумы, выработал следующий алгоритм. Перед его исполнением я бы выгрузил запущенные почтовые клиенты.

1. Необходимо остановить порочную практику сохранения ненужных писем. Заходим в настройки почты в веб-морде Gmail`а:
  • Раздел "Экспериментальные функции":
    — Включаем "Расширенные средства управления IMAP"
  • Раздел "Пересылка и POP/IMAP":
    — Опцию "Автоматическое удаление" переключаем на "Не удалять письма автоматически"
    Сохраняем изменения! (Без этого у меня не заработала следующая настройка)
    — Опцию "Когда письмо удаляется из последней видимой папки IMAP" переключаем на "Отправить письмо в корзину"
    — Сохраняем изменения

2. Необходимо навести порядок и избавиться от «недобитков». Создадим новый временный ярлык. Фильтром присвоим этот ярлык всем полезным письмам. Найдем письма без этого ярлыка. Удалим их.
  • Создаем временный ярлык. К примеру, "keep".
  • Создадим правило фильтрации. Заходим в Настройках в раздел "Ярлыки". Видим область "Системные ярлыки", которая нам не интересна. А вот, названия всех пользовательских ярлыков из области "Ярлыки" необходимо скомбинировать в текстовую строку вида (без кавычек):
    "label:label001 OR label:label002 OR ..."
    где labelN — имя N-ого ярлыка. Я это сделал путем копипаста из браузера в Geany, где затер лишнее и replace`ом вставил "OR label:".
    ВНИМАНИЕ: Символы пробелов, слеш и, возможно, другие необходимо заменить на символ дефиса (минус). Если у Вас есть подозрения, то откройте эту папку-ярлык в веб-морде Gmail и обратите внимание на запись в строке поиска. Она будет содержать текст: "label:имя_вашего_ярлыка_как_его_понимает_поиск_гугла".

    Очевидно, это правило не включает в себя системные папки. Не менее очевидно, что в нашей задаче интересны из них только "Входящие" и "Оправленные". Условие поиска для первой выглядит как "in:inbox", а все письма из второй у меня оказались в пользовательской папке-ярлыке "[Imap]/Sent" (правило поиска "label:[Imap]-Sent" по ней уже было сгенерировано нами чуть раньше). Таким образом, осталось добавить "in:inbox" и получить полное правило фильтрации полезных писем в виде:
    "in:inbox OR label:label001 OR label:label002 OR ..."
    Чтобы удостовериться, что правило работает правильно, можно поиграться в поиске с его частями и проверять результат.
  • Теперь создаем фильтр.
    — Открываем соответствующий диалог
    — В поле "Содержит слова" копипастим наше правило фильтрации
    Нажимаем "Пробный поиск"! Получаем список всех полезных писем. Многостраничный.
    — Нажимаем "Дальше"
    — Выбираем действие "Применить ярлык" и указываем ярлык "keep"
    — Ставим галочку "Также применить фильтр к указанным ниже цепочкам (...)". Это как раз сделает то, о чем грозит :)
    — Нажимаем "Создать фильтр".
    Все, фильтр готов и отработал. Проверяем содержимое папки "keep". Проверяем содержимое папки "Вся почта", где должны остаться ненужные письма.
  • Теперь делаем то, для чего создавали папку "keep": находим поиском письма без ярлыков, чего Г-mail не умеет! Это просто.
    — Вбиваем критерий поиска "-label:keep", что означает "искать все, кроме".
    — Ищем
    — В менюшке выделения писем выбираем "Все" => выделятся сотни бесполезных писем, а не только те, что видны на одной странице.
    — Нажимаем "Удалить". Через секунду-другую они все оказываются в "Корзине".
  • Необходимо удалить ярлык "keep" со всех оставшихся полезных писем. Для этого достаточно удалить его самого в настройках ярлыков.
  • Удалем созданный нами фильтр.

И так, все. Порядок наведен. При удалении писем в Evolution, они буду помещаться в его папку "Deleted Items". На стороне сервера Гугла ничего не происходит. Очищение же "Deleted Items" приведет к перемещению соответствующих писем на сервере в папку "Корзина".

З.Ы.: Хотелось бы не создавать временный ярлык, провести фильтрацию одной командой. Однако, в режиме поиска у меня не вышло сделать логическую конструкцию типа "НЕ это1 И НЕ это2".

Полезные ссылки, которые все это объясняют:
Использование расширенного поиска
Письма без ярлыков
Использование фильтров
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.