Как сделать 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
Почта типа локальная, проходит фильтры и т.п., но не складывается, а перенаправляется на внутренний ексейндж. Кроме рутовой и некоторых локальных юзеров.
Как это сделать наиболее грамотно?