Hello,
In <Pine.BSF.3.96.990727165042.68068A-100000@gulipin.miee.ru>, on 07/27/99
at 04, "Michael V. Smirnoff" <aidan@miee.ru> said:
>> Возникла следующая задача: почту от отдельно взятого
>> локального пользователя, направленную на некий домен X,
>> (например fidonet.org) направлять в свой mailer Y
>> (например ifmail). Почта всех остальных пользователей
>> должна идти по MX'ам для домена Y.
>Для домена X я хотел сказать. Извините.
>>
>> Я не смог понять как это сделать штатными средствами
>> sendmail. Может быть кто-то такую проблему не решал?
>>
>> P.S. Я еще морально не созрел для перехода с sendmail,
>> на что-нибудь другое. :))))
Рецепт от Яра Тихого:
─ R50.SYSOP (2:5020/204.1) ──────────────────────────────────────── R50.SYSOP ─
Msg : 283 о 300 -275
From : Yar Tikhiy 2:5020/118 Втр 27 Июл 99 13:49
To : Victor Sudakov Втр 27 Июл 99 16:19
Subj : Re: Warning: could not send message for past 1 day
───────────────────────────────────────────────────────────────────────────────
Victor Sudakov <Victor.Sudakov@p19.f55.n5005.z2.fidonet.org> wrote:
VS> Если бы попросить sendmail не резолвить .fidonet.org, но я не знаю способа.
VS> Если кто знает, подкажите pls.
Ищем в sendmail.cf или m4/proto.m4 строки
# pass to name server to make hostname canonical
R$* < @ $* $~P > $* $: $1 < @ $[ $2 $3 $] > $4
и добавляем после комментария (перед канонизацией) вот такую строку:
R$* < @ $* $=Q > $* $@ $1 < @ $2 $3 . > $4
после чего в LOCAL_CONFIG засовываем в класс Q строки
z1.fidonet.org z2.fidonet.org ... z7.fidonet.org
IMHO такой конфиг хорош не только когда DNS лежит, так как позволяет
избавиться от неприятного глюка, когда происходит раскрытие CNAME
(пример: когда-то был
f0.n50.z2.fidonet.org. CNAME f140.n5020.z2.fidonet.org.
Потом пришел новый RC, но про CNAME все забыли, и ifmail слал всю
почту, адресованную 2:50/0, на 2:5020/140)
Поехали дальше. Надо еще поправить ruleset Basic_check_mail.
Здесь надо к строкам
# handle non-DNS hostnames (*.bitnet, *.decnet, *.uucp, etc)
R<?> $* < $* $=P > $* $: <OK> $1 < @ $2 $3 > $4
добавить аналогичную для класса Q
R<?> $* < $* $=Q > $* $: <OK> $1 < @ $2 $3 > $4
Теперь для фидошных доменов не будет выдаваться ошибка "Domain must resolve".
Сразу замечу: кажущееся очевидным решение добавить z[1-7].fidonet.org
в класс P работать не будет, так как sendmail не понимает строк из
>1 токена в конструкции $~P. IMHO это баг, хотя одно время меня убеждали
в comp.mail.sendmail, что это правильно...
SY, Yar
P.S. Вот весь патч для proto.m4 версии 8.243 (8.9.3):
- --- proto.m4.orig Wed Feb 3 02:21:30 1999
+++ proto.m4 Tue Jul 27 14:43:49 1999
@@ -654,6 +654,7 @@
')')
ifdef(`_NO_CANONIFY_', `dnl', `dnl
# pass to name server to make hostname canonical
+R$* < @ $* $=Q > $* $@ $1 < @ $2 $3 . > $4
R$* < @ $* $~P > $* $: $1 < @ $[ $2 $3 $] > $4')
# local host aliases and pseudo-domains are always canonical
@@ -1137,6 +1138,7 @@
R<?> $* < @ $+ . > <?> $1 < @ $2 > strip trailing dots
# handle non-DNS hostnames (*.bitnet, *.decnet, *.uucp, etc)
R<?> $* < $* $=P > $* $: <OK> $1 < @ $2 $3 > $4
+R<?> $* < $* $=Q > $* $: <OK> $1 < @ $2 $3 > $4
ifdef(`_ACCEPT_UNRESOLVABLE_DOMAINS_',
`R<?> $* < @ $+ > $* $: <OK> $1 < @ $2 > $3 ... unresolvable OK',
`R<?> $* < @ $+ > $* $: <? $(resolve $2 $: $2 <PERM> $) > $1 < @ $2 > $3
--- ifmail v.2.14dev3
* Origin: Chem. Dept. of Moscow State University (2:5020/118)
Cheers,
Yuri (2:5020/204@fidonet)
-----------------------------------------------------------
=============================================================================
"inet-admins" Internet access mailing list. Maintained by East Connection ISP.
Mail "unsubscribe inet-admins" to Majordomo@info.east.ru if you want to quit.
Archive is accessible on http://info.east.ru/rus/inetadm.html