И озаботится, чтобы сендмаил не считал эти письма локальными (/etc/mail/local-host-names) и разрешить их пересылку (/etc/mail/access TO:@domain1.ru <tab> RELAY) ну и указать куда слать (mailertable)
Спасибо за помощь.
А можно-ли перенаправить только отдельных пользователей на Exchange?
И где это прописать. Внешний домен @domen1.ru внутренний домен localdomen1.ru. IP Exchang 192.168.1.1
Да, в вашем случае, действительно проще сделать через virtusertable.
Задать там список:
vasya@domain1.ru <TAB> vasya@localdomen1.ru
masha@domain1.ru <TAB> masha@localdomen1.ru
...
В mailertable:
localdomen1.ru <TAB> smtp:[192.168.1.1]
Потом не забыть:
makemap hash virtusertable.db < virtusertable
makemap hash mailertable.db < mailertable
И все.
Большое спасибо. Еще вопросик.
Sendmail надо перезапускать или он так берет настройки из *table.db?
И какие файлы надо сохранить, чтоб подкинуть назад в случае неудачной установки новых параметров?
При изменении файлов, определенных как "K..." в sendmail.cf (access, virtusertable, mailertable, domaintable, genericstable, ...) sendmail перезапускать не нужно, он при надобности каждый раз обращается к базе, данные не кеширует. Если файл определен в cf-файле как класс ("F...") - local-host-names, relay-domains, trusted-users, ..., он считывается 1 раз при запуске sendmail, и больше к нему не обращаются. Поэтому для перечитывания требуется перезапуск sendmail (возможно хватит и killall -HUP sendmail).
> И какие файлы надо сохранить, чтоб подкинуть назад в случае неудачной установки новых параметров?
Странный вопрос :-) Конечно ж все те, содержимое которых менялось:
mailertable, virtusertable, local-host-names, ...
При этом не забывать, что sendmail не обращается к текстовым файлам баз ("K..."), он обращается к *.db, поэтому при изменениях текстовых файлов - *.db нужно пересоздавать.
Да я понял что *.db файлы. Я имел ввиду может какие файлы меняются в других каталогах то их сохранить.
А так пока все понятно. Спасибо.
А такой параметр как SMART_RELAY что делает?
> А такой параметр как SMART_RELAY что делает?
Такого параметра нет, есть SMART_HOST - аналог mailertable - грубо говоря позволяет задать пересылку всей "нелокальной" почты на другой почтовик:
If you want all outgoing mail to go to a central relay site, define
SMART_HOST as well. Briefly:
SMART_HOST applies to names qualified with other hosts or
bracketed addresses (e.g., "eric@mastodon.CS.Berkeley.EDU"
or "eric@[127.0.0.1]").
However, beware that other relays (e.g., UUCP_RELAY, BITNET_RELAY,
DECNET_RELAY, and FAX_RELAY) take precedence over SMART_HOST, so if you really want absolutely everything to go to a single central site you will need to unset all the other relays -- or better yet, find or build a minimal config file that does this.
Спасибо за помощь. Как я понял конфиг. такова:
Для пересылки всей почты домена domain1.ru на локальный домен localdomen1.ru на Excange.
MAILERTABLE:
domain1.ru esmtp:[192.168.1.1] #IP Exchange
.domain1.ru esmtp:[192.168.1.1]
LOCAL-HOST-NAME:
domen1.ru
mail.domen1.ru
Далее пересоздать базу:
makemap hash mailertable.db < mailertable
ACCESS:
localhost.localdomain RELAY
localhost RELAY
127.0.0.1 RELAY
192.168 RELAY
Domen1.ru OK(Вот здесь надо-ли исправить на RELAY?)
* REJECT
И т.д.
Если исправлять (на RELAY) то пересоздать базу:
Makemap hash access.db < access
**********************************************************************
Если для одного юзера:
VIRTUSERTABLE:
user1(@)domain1.ru user1(@)localdomain1.ru
MAILERTABLE:
localdomain1.ru esmtp:[192.168.1.1](В этом файле не уверен)
.localdomain1.ru esmtp:[192.168.1.1]
далее:
makemap hash virtusertable.db < virtusertable
makemap hash mailertable.db < mailertable
ACCESS:
localhost.localdomain RELAY
localhost RELAY
127.0.0.1 RELAY
192.168 RELAY
Domen1.ru OK
* REJECT
И т.д.
**********************************************************************
Что не так пожалуйста исправьте.