постфикс: другой формат имени файла для сообщений Maildir

В очень старых системах # удалил бы предыдущий символ, и уничтожит целую строку.

Для ввода литерала # или необходимо ввести обратную косую черту сначала, для выхода из него, например, \# = #.

В эти дни та же функциональность обеспечивается терминалом lnext установка, который значения по умолчанию к Ctrl+V.

См. также:

2
27.01.2014, 18:44
4 ответа

Нет, Постфикс не имеет никакого способа настроить это. Как @HBruijn сказал, формат Maildir является спецификацией, и это было бы настоящее усилие сделать LDA и MUA, оба договариваются о другом формате. Тем не менее, если Вам не нравятся имена файлов в Вашем maildir, Вы могли бы украсить их немного при поиске их:

$ ls | head -1
1325471944.27745_1.beta,S=10662:2,S

$ ls | head -1 | perl -pe 's/(\d+)/localtime($1)/e'
Mon Jan  2 03:39:04 2012.27745_1.beta,S=10662:2,S
5
27.01.2020, 22:00

Исходная спецификация формата Maildir была бы хорошим началом для ответа на вопрос.

Требование - то, что каждое новое сообщение будет храниться с уникальным именем.

Если Вы не пишете сообщения в maildir, формат уникального имени не Ваше дело.

Уникальное имя может быть чем-либо, что не содержит двоеточие (или наклонная черта) и не запускается с точки. Не пытайтесь извлечь информацию из уникальных имен.

Хорошо, таким образом, Вы пишете сообщения. Уникальное имя имеет три части, разделенные точками. Слева результат времени () или второй счетчик от gettimeofday (). Справа результат gethostname (). (Для контакта с недопустимыми именами хостов замените / \057 и: с \072.) В середине идентификатор доставки, обсужденный ниже.

...

Старомодные идентификаторы доставки используют следующие форматы для идентификатора доставки::

  • n, где n является идентификатором процесса, и где этот процесс был разветвлен для произведения одной поставки. К сожалению, некоторые глупые операционные системы повторяют идентификаторы процесса быстро, повреждая стандарт time+pid комбинация.
  • n_m, где n является идентификатором процесса, и m является количеством поставок, произведенных этим процессом.

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

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

2
27.01.2020, 22:00
  • 1
    , который очень хорош, но как я могу настроить постфикс для использования моего формата? –  Martin Vegter 18.12.2013, 17:44
  • 2
    добавляет .forward с | /home/vegterm/bin/storemail который является сценарием, который берет сообщение электронной почты в качестве STDIN и создает имена файлов к Вашей симпатии в Вашем Maildir. –  HBruijn 18.12.2013, 18:16
  • 3
    +1 и OP должны действительно заново обдумать на том, почему он хочет это так плохо. это похоже на просьбу о "случайных числах, но они должны запустить с 3" –  umläute 23.01.2014, 16:09

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

как побочный эффект Ваш сценарий мог бы подвергнуть человекочитаемый интерфейс фактическим именам файлов. что-то как:

dowithmails rm --from 2014-01-12  --to 2014-01-15
-1
27.01.2020, 22:00
  • 1
    , какова причина downvote? в то время как это не отвечает на вопрос непосредственно, он обеспечивает подсказку для решения базовой проблемы. –  umläute 13.12.2016, 16:48

При использовании pop3 и Maildir будет содержать один большой текстовый файл. Поскольку все входящие сообщения хранятся в одном большом файле. При использовании imap и Maildir будут содержать много небольших текстовых файлов. Потому что каждое входящее сообщение хранится в отдельный текстовый файл.

-2
27.01.2020, 22:00

Теги

Похожие вопросы