mail machinery
У меня на forum.openvz.org есть форумы, которые по сути являются архивами списков рассылки (users@ и devel@). Точнее, раньше они были двусторонними, то бишь можно было постить ответ на форум, и он появлялся в списке рассылки. Таким образом, каждый мог выбирать и пользоваться тем, что ему больше нравится -- список рассылки или форум. К сожалению, эту возможность пришлось убрать.
Так вот, эти форумы остались как архивы списков рассылки. Работает это так: из списка рассылки апачу приходят все письма, прокмейл их сортирует и загоняет в форум (пайпом в некий php-шный скрипт).
Сегодня обнаружилось, что некоторых писем в этом архиве нет. Поглядев лог прокмейла, я увидел, что они падают не в форум, а в мейлбокс. Поглядев конфиг прокмейла, письма, которые падают куда надо, и письма, которые падают не туда, куда надо, я понял, что ошибся в регулярном выражении в .procmailrc. Точнее, не то чтобы ошибся, а не учёл, что некоторые письма на devel@ к нам приходят с другого списка рассылки (containers НА linux-foundation.org), соответственно, в них ни To: devel@, ни Cc: devel@ не написано.
Хорошая новость в том, что все эти письма не проимелись, а попадали в мейлбокс апачу. Дальше -- дело техники. Маленький скрипт на Python, который парсит мейлбокс, разбивая его на отдельные письма, среди этих писем выделяет те, в которых в заголовке List-Id прописано devel.openvz.org, и складывает их в отдельные файлики. Далее я эти файлики проглядел, выяснил, что всё нормально, и в цикле скормил их вышеупомянутому php-скрипту. Да, и .procmailrc тоже, конечно, пофиксил на предмет проверки не на To или Cc, а на List-Id. Часа полтора на всё потратил.
Мне вот интересно, что в таких случаях делают Windows-админы? Пишут на каком-нибудь ASP?