Pull to refresh

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".

Полезные ссылки, которые все это объясняют:
Использование расширенного поиска
Письма без ярлыков
Использование фильтров
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.