Удалить дубликаты сообщений из Maildir

10

У меня есть несколько повторяющихся сообщений в Maildir моего IMAP-сервера. Какой лучший способ их удалить?

Некоторые важные моменты:

  • Shared Message-ID обычно является достаточно хорошим определением дубликата. Крошечный скрипт, который удаляет все, кроме одного из повторяющихся сообщений, будет работать.
  • Иногда необходимо найти дубликаты на основе общих тел сообщений. Какое здесь разумное определение? Побитовый эквивалент? Как насчет странных различий в переносе строк, экранировании, кодировании символов?
  • Иногда между «повторяющимися» сообщениями есть существенная разница. Как лучше всего рассмотреть различия в наборах «дублирующих» сообщений? Diffs?
Джозеф Холстен
источник

Ответы:

6

Я внес несколько существенных улучшений в сценарий Кевина, упомянутый выше, и он был достаточно любезен, чтобы принять мои запросы на получение. В конце концов мы разделили это на отдельный проект, который вы можете найти здесь:

https://github.com/kdeldycke/maildir-deduplicate

Адам Спирс
источник
Этот скрипт переехал на новое место, поэтому я обновил ссылку.
Адам Спайерс
3

для универсальных файлов в linux я использую утилиты fdupes для удаления дубликатов файлов. Я обнаружил, что это также работает для сообщений Maildir.

Сарабанда
источник
1
fdupes, кажется, работает только для точных дубликатов, в то время как OP (неявно) запрашивает более сложные шаблоны дублирования. Сообщение, доставленное дважды из-за .forwardили как-то еще, будет иметь несколько разные заголовки, поэтому, хотя само сообщение является дубликатом, двух файлов, содержащих две копии, может не быть.
tripleee
0

Evolution [графический агент пользователя почты] Gnome имеет встроенную функцию удаления дубликатов почты. Как объяснено на этой странице справки , это сводится к:

  1. Выберите подозрительные сообщения (или только все сообщения)
  2. Зайдите в меню « Сообщения» , выберите « Удалить дубликаты сообщений» .

Вуаля.

PS Evolution может получить доступ к вашим сообщениям локально (MailDir, MH, Mbox) или через IMAP.

Франклин Пиат
источник
0

Лучшее , что я нашел сегодня Кевин Deldycke в Maildir-Дедуплицировать .

  • Он игнорирует X-MIMETrackзаголовок по умолчанию и сравнивает заголовки, используя SHA224дайджест.
  • Он автоматически удаляет дубликаты без запроса подтверждения; однако есть пробный режим, который позволяет предварительно просмотреть, какие дубликаты будут удалены.

Могу поспорить, что кто-то может сделать что-то необычное из delIMAPdups.pl Рика Сандерса , часть его инструментов IMAP .

Joseph Holsten
источник
maildir-deduplicate переехал на новое место, поэтому я обновил ссылку. Однако ваша информация сейчас устарела.
Адам Спайерс
Я обновил это, чтобы больше не вводить в заблуждение устаревшую информацию.
Адам