URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 61381
[ Назад ]

Исходное сообщение
"Знатокам procmailrc"

Отправлено antoshkin , 31-Окт-05 11:59 
Как сделать procmail'ом, чтобы вся почта локальная перенаправлялась на другой почтовый сервер в локалке?
mailertable не подходит, т.к. при этом не проверяется правильность юзера и не вызывается procmail.
Пробовал так:
:0
*
! $USERNAME@local.smtp
Но тогда переписывается return_path, и если local.smtp по какой-то причине не может доставить письмо, возвращает его назад, и получается кольцо. Ну и при этом почта на рута и остальныйх локальных юзеров уходит на локальный смтп, где их конечно нет, и опять получается кольцо.

Объясню более подробно задачу.
Есть Ексчейндж, который стоит внутри локалки и держит почтовые ящики юзверей. Есть sendmail, доступный из интернета, который MX для домена конторы (пусть это будет domain.ru). Этот sendmail принимает почту, проверяя правильность юзера в домене, прогоняя procmail'ом через спамассасин, удаляя письма с екзешниками и прочей тварью.
И вот тут загвозка.
1. Если поставить в mailertable
domain.ru    smtp:smtp.local
То правильность юзера не проверяется (принимается всё подряд), и procmail не вызывается, а тупо перегоняется на ексчангу - я так не хочу.
2. Если в local-host-names поставить
domain.ru
То всё работает, правильность юзера проверяется, прокмэйл вызывается, фильтруется, НО складывается в /var/mail. Можно конечно отказаться от ексчанги вообще, но это перенастраивать кучу клиентов.
3. Если из local-host-names убрать этот домен, но в access вписать
domain.ru RELAY, то почта тупо релеится и опять же ничего не проверяется.

Вот я и хочу, чтоб было в local-host-names
domain.ru
Почта типа локальная, проходит фильтры и т.п., но не складывается, а перенаправляется на внутренний ексейндж. Кроме рутовой и некоторых локальных юзеров.
Как это сделать наиболее грамотно?


Содержание

Сообщения в этом обсуждении
"Знатокам procmailrc"
Отправлено sdn , 31-Окт-05 12:41 
>Как сделать procmail'ом, чтобы вся почта локальная перенаправлялась на другой почтовый сервер
>в локалке?
>mailertable не подходит, т.к. при этом не проверяется правильность юзера и не
>вызывается procmail.
>Пробовал так:
>:0
>*
>! $USERNAME@local.smtp
>Но тогда переписывается return_path, и если local.smtp по какой-то причине не может
>доставить письмо, возвращает его назад, и получается кольцо. Ну и при
>этом почта на рута и остальныйх локальных юзеров уходит на локальный
>смтп, где их конечно нет, и опять получается кольцо.
>
>Объясню более подробно задачу.
>Есть Ексчейндж, который стоит внутри локалки и держит почтовые ящики юзверей. Есть
>sendmail, доступный из интернета, который MX для домена конторы (пусть это
>будет domain.ru). Этот sendmail принимает почту, проверяя правильность юзера в домене,
>прогоняя procmail'ом через спамассасин, удаляя письма с екзешниками и прочей тварью.
>
>И вот тут загвозка.
>1. Если поставить в mailertable
>domain.ru    smtp:smtp.local
>То правильность юзера не проверяется (принимается всё подряд), и procmail не вызывается,
>а тупо перегоняется на ексчангу - я так не хочу.
>2. Если в local-host-names поставить
>domain.ru
>То всё работает, правильность юзера проверяется, прокмэйл вызывается, фильтруется, НО складывается в
>/var/mail. Можно конечно отказаться от ексчанги вообще, но это перенастраивать кучу
>клиентов.
>3. Если из local-host-names убрать этот домен, но в access вписать
>domain.ru RELAY, то почта тупо релеится и опять же ничего не проверяется.
>
>
>Вот я и хочу, чтоб было в local-host-names
>domain.ru
>Почта типа локальная, проходит фильтры и т.п., но не складывается, а перенаправляется
>на внутренний ексейндж. Кроме рутовой и некоторых локальных юзеров.
>Как это сделать наиболее грамотно?

А почему используеьтся именно procmail
Я для этого использую spamassassin-milter и работает нормально.


"Знатокам procmailrc"
Отправлено antoshkin , 31-Окт-05 12:47 
>
>А почему используеьтся именно procmail
>Я для этого использую spamassassin-milter и работает нормально.

Дело не в этом.
Как procmail'у сказать, чтоб он не переписывал from и return-path?


"Знатокам procmailrc"
Отправлено sdn , 31-Окт-05 13:31 
>>
>>А почему используеьтся именно procmail
>>Я для этого использую spamassassin-milter и работает нормально.
>
>Дело не в этом.
>Как procmail'у сказать, чтоб он не переписывал from и return-path?

Вообще говоря делать обработку(spam,av и т.д.) всех писем проходящих через сервер необходимо до того, как возьмется за работу MDA (Mailer Delivery Agent: mail.local, procmail ...), который осуществляет локальную доставку писем.
И подсоединять все фильтры через milter api sendmail-a.


"Знатокам procmailrc"
Отправлено antoshkin , 31-Окт-05 17:25 
Да бог с ними с фильтрами.
Допустим фильтров нет.
Если сендмэйлу не указать этот домен, что он локальный - он не будет проверять юзера, а тупо будет принимать всё.

"Знатокам procmailrc"
Отправлено sdn , 01-Ноя-05 09:11 
>Да бог с ними с фильтрами.
>Допустим фильтров нет.
>Если сендмэйлу не указать этот домен, что он локальный - он не
>будет проверять юзера, а тупо будет принимать всё.

в local-host-names прописываем домен
domain.ru

в aliases

прописываем
user: user@server1.domain.ru
user1: user1@server2.domain.ru