Как сделать в сендмайле что бы почта со всех ящиков автоматом сваливалась в один и оставалась в тех ящиках куда она пришла...если прописать в aliases то он не оставляет в тех ящиках куда пришло...
Через libmilter (идёт с sendmail) можно получать тело сообщения и сложить его в определённый каталог. В пакете есть пример программки, который именно это и делает. Дальше при помощи хитрого скрипта на 6 строчек с участием procmail складываем всё это туда, куда нам надо. Решение универсальное и работает уже четыре года. Подробности можно посмотреть в этом форуме, а также на http://www.diary.ru/~dukess где-то в глубине.
Помнится, я уже затрагивал эту тему ранее и даже публиковал листинг безумной программы по обработке и копированию почты. Сегодня я снова возвращаюсь к этой теме по причине того, что я нашёл, как мне кажется, более элегантное решение.
Как и ранее, для перехвата почты используется фильтр-пример sample, входящий в дистрибутив sendmail (описание процедуры компиляции sendmail выходит за рамки этой записи). А вот обработчик перехваченных писем изменился. Если ранее это была немаленькая программа на языке C, то теперь это скрипт для интерпретатора bash.
----текст скрипта----
#!/bin/bash
for filename in `ls /tmp/savemail`
do
cat /tmp/savemail/$filename | formail >> /var/mail/copyuser &&
rm -f /tmp/savemail/$filename
done
-----всё------
Пояснения:
Команда ls /tmp/savemail - выдаёт список файлов в каталоге, в который sample складирует перехваченные письма.
formail - программа из состава пакета procmail, используемого для автоматизированной обработки почты.
П.С. Копирайт, в общем-то, мой.
> Но зачем когда можно всё решить стандартными средсвами!
Если таких user-ов около десятка, то можно и стандартными средствами, а если их около 1000, то что, прописывать 1000 таких alias-ов ? А если user-ы будут еще добавляться, и почту вновь созданных ящиков тоже нужно архивировать - постоянно с созданием ящика добавлять alias ??? По-моему это будет не целесообразно и более правильно решать задачу с помощью фильтра.
Через milter правильнее -- сам я так и делал, так как у меня все равно была связка sendmail-mimedefang-clamav-spamassassin
И главным аргументом здесь является не сложность поддержки aliases/.forward файла, а то что при использовании способа с aliases/.forward и приходе одного письма сразу N адресатам, в архив попадет N копий одного и того же письма.
>Если таких user-ов около десятка, то можно и стандартными средствами, >а если их около 1000, то что, прописывать 1000 таких alias-ов ? А >если user-ы будут еще добавляться, и почту вновь созданных ящиков ?>тоже нужно архивировать - постоянно с созданием ящика добавлять alias >??? По-моему это будет не целесообразно и более правильно решать >задачу с помощью фильтра.
есть стоят такие задачи то можно написать скрипт.