[Карта]                [Начало]                [Sendmail-ссылки]                [Синтаксис]                [Типовые задачки]                  [Задачки по маршрутизации]                  [Задачки по маcкарадингу]                  [SendmailACL]                  [Spamooborona]                  [VadeRetro]                  [Regex]                  [Тонкости]                  [Недок.особен.]                  [Несущ.юзеры]                  [Прячемся!]                  [RFC1893.Цитаты]                  [ТП.Эмоции]                  [Антиспам&Разум]                  [Экзерсисы]                 


3.5A Недокументированные особенности


1. define(`_RELAY_FULL_ADDR_',`1')

Обращаю ваше внимание на то, что начиная с версии 8.14.0 эта недокументированная особенность перестала быть таковой: вы можете релеить почту на основании электронного адреса, если определите
FEATURE(`access_db', `hash -T /etc/mail/access_map',`relaytofulladdress') :
"...
CONFIG: New option `relaytofulladdress' for FEATURE(`access_db')
to allow entries in the access map to be of the form
To:user@example.com RELAY
..."

Per Hedeland советует такой вариант:
" ... Though I would rather use
FEATURE(`access_db', `',`relaytofulladdress')
in the second case to get the default map spec (untested)..."

Итак, для версий ниже 8.14.0 опция define(`_RELAY_FULL_ADDR_',`1') позволяет разрешить relay на основе электронного адреса.
Напомню, в стандартном исполнении sendmail релеит почту только при наличии домена или ip-адреса в
/etc/mail/access:
dom.ru               [TAB]               RELAY
1.2.3.4               [TAB]               RELAY
или записей в /etc/mail/relay-domains:
1.2.3.4               
Если же у вас почтовый шлюз, и вы хотите, например, с помощью mailertable релеить почту на другой почтовик только для определенных пользователей,
то при включении вышеупомянутой фичи вы можете прописать в /etc/mail/access:
To:vasya@dom.ru               [TAB]               RELAY
To:vanya@dom.ru               [TAB]               RELAY
To:dom.ru               [TAB]               ERROR:5.1.1:550 Unknown user
(обращаю внимание на отсутствие знака @ перед именем домена )

Проверено в случае с mailertable - работает.

И без mailertable тоже исправно работает.
Для этого нужно в /etc/mail/access прописать следующее. Предположим, ваш основной почтовый домен - main.ru, второй mx-сервер, через который вы релеите почту на main.ru, - mx2.main.ru.

На mx2.main.ru в /etc/mail/access пишем:
To:mx2.main.ru:              [TAB]               RELAY
To:user1@main.ru               [TAB]               RELAY
To:user2@main.ru               [TAB]               RELAY
To:user3@main.ru               [TAB]               RELAY
To:user4@main.ru               [TAB]               RELAY
To:main.ru               [TAB]               ERROR:5.1.1:550 Unknown user

Последняя строчка закроет доступ не только к main.ru, но и ко всем его поддоменам, поэтому, для того, чтобы почта для юзеров почтового домена mx2.main.ru продолжала нормально поступать, мы прописываем первой строкой разрешение на это.


Дополнение от 25 июня 2007г.
В сочетании с блокировкой почты по количеству несуществующих получателей письма на втром mx-е получается вот такая замечательная вещь:
Тут я вывожу в лог общее кол-во получателей - кол-во несущ. получателей - максимально допустимое значение несущ. получателей
Jun 24 19:42:27 apache sendmail[27143]: l5ODg0hq027143: syslog:CUU4:CheckFrom.NumRec:11.-.Unk.Rec:4.-.Al.Un.Rec:3
Jun 24 19:42:27 apache sendmail[27143]: l5ODg0hq027143: ruleset=CheckFrom, arg1=\t"Jamar Wooten" <dhall1@sun1.lrz-muenchen.de>, relay=d83-189-6-100.cust.tele2.de [83.189.6.100], reject=553 5.0.0 Sorry, далее текст по вашему уразумению.
Jun 24 19:42:27 apache sendmail[27143]: l5ODg0hq027143: to=<user1@mydom.ru>, delay=00:00:01, pri=337782, stat=Sorry, ...
Jun 24 19:42:27 apache sendmail[27143]: l5ODg0hq027143: to=<user2@mydom.ru>, delay=00:00:01, pri=337782, stat=Sorry, ...
Jun 24 19:42:27 apache sendmail[27143]: l5ODg0hq027143: to=<user3@mydom.ru>, delay=00:00:01, pri=337782, stat=Sorry, ...
Jun 24 19:42:27 apache sendmail[27143]: l5ODg0hq027143: to=<user4@mydom.ru>, delay=00:00:01, pri=337782, stat=Sorry, ...
Jun 24 19:42:27 apache sendmail[27143]: l5ODg0hq027143: to=<user5@mydom.ru>, delay=00:00:01, pri=337782, stat=Sorry, ...
Jun 24 19:42:27 apache sendmail[27143]: l5ODg0hq027143: to=<user6@mydom.ru>, delay=00:00:01, pri=337782, stat=Sorry, ...
Jun 24 19:42:27 apache sendmail[27143]: l5ODg0hq027143: to=<user7@mydom.ru>, delay=00:00:01, pri=337782, stat=Sorry, ...
Jun 24 19:42:27 apache sendmail[27143]: l5ODg0hq027143: to=<user8@mydom.ru>, delay=00:00:01, pri=337782, stat=Sorry, ...
Jun 24 19:42:27 apache sendmail[27143]: l5ODg0hq027143: to=<user9@mydom.ru>, delay=00:00:01, pri=337782, stat=Sorry, ...
Jun 24 19:42:27 apache sendmail[27143]: l5ODg0hq027143: to=<user10@mydom.ru>, delay=00:00:01, pri=337782, stat=Sorry, ..
Jun 24 19:42:27 apache sendmail[27143]: l5ODg0hq027143: to=<user11@mydom.ru>, delay=00:00:01, pri=337782, stat=Sorry, ..


Ссылки по теме
[1]
[2]
[3]
[4]
[5]
[6]
[7]

Обратная связь
Страница создана 2 мая 2006 г. Последнее обновление: 25 июня 2007г.