изменение порядка почтового каталога

Недавно я задал этот вопрос и выяснил, что причина, по которой одно сообщение электронной почты отображается не по порядку на самом деле не из-за даты, а из-за порядка сообщений. Я хотел бы изменить свой сценарий, чтобы убедиться, что все сообщения находятся в правильном порядке, но я не знаю, как это сделать. Это просто основано на порядке, в котором появляются файлы, или есть специальная часть заголовков maildir, которая указывает это?

Вот пример того, что я имею в виду: Пример

В общем, каждый MUA, который я использую, включая Thunderbird, Evolution и mail2web.com, может сортировать по дате, но по умолчанию будет упорядочен по «номеру сообщения». Я нахожусь на общем хосте, который, как мне кажется, использует qmail. Информация тега номера сообщения должна где-то храниться.

edit: я попытался переместить все файлы во временный каталог и обратно, что показало, что именно порядок файлов отвечает за номер сообщения. Однако я не уверен, почему сообщения за несколько дней в декабре были перемещены на гораздо меньшее число, чем количество сообщений по обе стороны от этой даты. Имена файлов являются отметками времени и должны быть последовательными, поэтому, если mv не снимал файлы в странном порядке, я не понимаю, почему номера сообщений не будут восстановлены для этих конкретных файлов.


person Joshxtothe4    schedule 23.01.2009    source источник


Ответы (1)


С почтовыми каталогами нет никакого внутреннего порядка для сообщений. Программа, которая их отображает, может отображать их в желаемом порядке, который может быть случайным, но также может основываться, например, на заголовке Date.

Ваш пример не идентифицирует программу, которая их показывает, и можно только догадываться, как она упорядочивает почту. Вам нужно выяснить, что он делает, и исправить это, чтобы упорядочить почту в том порядке, в котором вы хотите.

EDIT: спецификация Maildir может пригодиться для раскопок. Если ваш MTA действительно создает уникальные имена файлов, помещая надежные временные метки, вы, возможно, можете обойтись упорядочением по имени файла. Даже такие имена файлов не гарантируются, это может быть достаточно для вас.

person Community    schedule 23.01.2009
comment
Я просмотрел спецификацию maildir, и имя файла неисправного электронного письма имеет надежную временную метку и должно быть в порядке. См. пример имен файлов в ссылке на мой предыдущий вопрос - person ; 23.01.2009
comment
В этом случае я предполагаю, что MUA присваивает номера письмам, используя некоторую эвристику, которая не связана с именем файла или другими данными в почтовом каталоге, но, возможно, на основе порядка, в котором MUA впервые видит письма, и, возможно, также в зависимости от порядка, в котором пользователь удаляет письма. - person ; 23.01.2009
comment
хмммм. Я попробую переместить все файлы в каталог tmp, а затем обратно - person ; 23.01.2009
comment
Хорошо, это определенно основано на порядке файлов, так как в результате перемещения файлов порядок изменился, но не правильно. Однако, если имена файлов являются временными метками, они должны быть последовательными и перемещаться по порядку, поэтому я не уверен, почему mv перемещал их время от времени. - person ; 23.01.2009