ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 

  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: Inet-Admins
Inet-Admins mailing list archive (inet-admins@info.east.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [inet-admins] sendmail & sophisticated mail routing



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



 




Copyright © Lexa Software, 1996-2009.