Страница 1 из 1

Sendmail + copy In/out mail

Добавлено: 2008-10-12 23:37:01
dm07
Здравствуйте. Нужно решить такую задачку: копировать всю входяющую/исходяющую корреспонденцию поступающую на сендмыло в отдельную папку в виде отдельных файлов писем. Желательно фильтровать спам (по заголовкам X-Spam-Status). Кто нибудь решал подобную задачу, поделитесь рецептом.

Re: Sendmail + copy In/out mail

Добавлено: 2008-10-13 8:47:13
Alex Keda
да. заменил шендмыло на экзим.

Re: Sendmail + copy In/out mail

Добавлено: 2008-10-13 11:47:02
dm07
Сендмыло устраивает на данном этапе. Как найду рецепт, отпишусь.

Re: Sendmail + copy In/out mail

Добавлено: 2008-10-13 18:24:22
kmb
Нужно решить такую задачку: копировать всю входяющую/исходяющую корреспонденцию поступающую на сендмыло в отдельную папку в виде отдельных файлов писем.
и
Желательно фильтровать спам (по заголовкам X-Spam-Status). Кто нибудь решал подобную задачу, поделитесь рецептом.
Это одна задача или два разных вопроса?

Re: Sendmail + copy In/out mail

Добавлено: 2008-10-13 22:07:57
dm07
Это две задачи, но первая задача - минимум.

Re: Sendmail + copy In/out mail

Добавлено: 2008-10-16 13:15:25
dm07
Итак, решить задачу по поводу копирования входящей/исходящей почты можно с помощью bcc-milter (http://www.snertsoft.com/sendmail/milter-bcc/) - он платный, 65E. Можно с помощью Synonym, прост в установке и настройке, бесплатен.
Установка и настройка Synonym.
Устанавливаю порт /usr/ports/mail/synonym
В /etc/rc.conf прописываю synonym_enable="YES"
Прописываю конфиг. файл /usr/local/etc/synonym.conf, пример:

Код: Выделить всё

<Rules>
        <Rule>
                <Condition>
                        <Header>From</Header>
                        <Match>.*</Match>
                </Condition>
                <Action>
                        <ActionType>Copy</ActionType>
                        <Address>tracker@domen.ru</Address>
                </Action>
        </Rule>
</Rules>
Т.е. смысл правила: если имеется любой символ в From, то копия будет отсылаться на адрес tracker@domen.ru. Подробнее про формат файла synonym.conf можно узнать по cat /usr/local/share/doc/synonym/README.
Правим файл sendmail.mc:

Код: Выделить всё

...
FEATURE(local_procmail)dnl
dnl define(`_FFR_MILTER', `true')
...
INPUT_MAIL_FILTER(`Synonym', `S=local:/var/run/synonym/synonym.sock, T=C:10m;S:1s;R:1s;E:5m')dnl
define(`confINPUT_MAIL_FILTERS', `clmilter,spamassassin,Synonym')dnl
Пересобираем конфиг сендмайла, перезапускаем его, также запускаем Synonym:

Код: Выделить всё

/usr/local/etc/rc.d/synonym start
Смотрим, что создался файл сокета:

Код: Выделить всё

ls -l /var/run/synonym/
-rw-r--r--  1 daemon  daemon  5 Oct 15 23:58 synonym.pid
srwxr-xr-x  1 daemon  daemon  0 Oct 15 23:58 synonym.sock=
Пробуем отправить письмо, проверяем, что копия дошла до tracker.