Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Lev Walkin                           2:5020/400     29 Jan 2002  01:25:40
 To : Dmitriy Kyrhlarov
 Subject : Re: sendmail.cf
 -------------------------------------------------------------------------------- 
 
 
 Dmitriy Kyrhlarov wrote:
 
 > Hi!
 > 
 > После до-олгого изучения op.txt осталось чувство собстенной
 > неполноценности. :-(
 > По-прежнему, совершенно не понимаю, как пишутся рулесеты.
 > Там приводят пример:
 >                Kstorage macro
 Определить storage как корзинку для временных значений.
 >                 HMessage-Id: $>CheckMessageId
 При форматировании header lines, засунуть встреченный
 нами заголовок MessageId в рулесет CheckMessageId.
 >                 SCheckMessageId
 Определить рулесет CheckMessageId
 >                 # Record the presence of the header
 Hапугать человека настоящими английскими словами в окружающем
 их бреде.
 >                 R$*            $: $(storage {MessageIdCheck} $@ OK $) $1
 Вся бурда (любое количество любой лажи $*) переписывается в том же виде,
 что и была ($1), а в переменную MessageIdCheck записывается "OK".
 >                 R< $+ @ $+ >   $@ OK
 Если в заголовке MessageId есть нечто похожее на < blah @ blah > - 
 возвращаем OK, вываливаемся из CheckMessageId с этим OK.
 >                 R$*            $#error $: 553 Header Error
 При любом другом раскладе вываливаемся в мейлер error с аргументом
 553 Header Error - он сам там разберется, что дальше делать.
 >                 Scheck_eoh
 Определяется рулесет check_eoh. Согласно правилам sendmail'а,
 вызывается, когда все строки заголовка прочитаны. (eoh - end of
 header)
 >                 # Check the macro
 Английский по белому.
 >                 R$*            $: < $&{MessageIdCheck} >
 Заменить всю бурду слева на "< что_там_в_messageidcheck >"
 >                 # Clear the macro for the next message
 Опять английский...
 >                 R$*            $: $(storage {MessageIdCheck} $) $1
 Очистить MessageIdCheck, инициализировав его HИЧЕМ, и сохранить
 то, что мы имеем в левой части нетронутым.
 >                 # Has a Message-Id: header
 Ой, опять буквы знакомые.
 >                 R< $+ >        $@ OK
 Если внутри угловых скобок что-то есть, то возвращаем OK.
 >                 # Allow missing Message-Id: from local mail
 Хм.. раздражать начинают эти непонятные слова...
 >                 R$*            $: < $&{client_name} >
 Заменим левую часть на "< адрес_клиента >".
 >                 R< >           $@ OK
 Если там пусто - вернем OK.
 >                 R< $=w >       $@ OK
 Если внутри скобок локальный домен (localhost, или что там в Cw или Fw),
 то вернем OK.
 >                 # Otherwise, reject the mail
 Гррр...
 
 > Сенсеи, объясните, плз, по строкам как это работает.
 > Как понимать
 > R<
 Если разбираемая строка состоит из левой угловой скобки...
 (правая часть погрызена кем-то, так что что будет, если
 строка состоит из левой скобки, неизвестно).
 
 > Что такое
 > :: и ...
 Просто буквы. Как a, b, или даже c.
 > из реального конфига
 > R@ $* <@>$: @ $1unmark @host:...
 > R$* :: $* <@>$: $1 :: $2unmark node::addr
 Разбирает IPv6 адрес, не иначе.
 
 > Кое-что до меня все же дошло -- LHS & RHS. Я их даже обнаружил в
 > примере:
 >                 R$*            $: $(storage {MessageIdCheck} $@ OK $) $1
 > (Для всех токенов применить то, что справа). Hо что это?
 > Откуда берется MessageIdCheck?
 С неба. Если его не существовало, создается при первой же ссылке.
 
 > Помогите, плз, хоть начать. Дальше, надеюсь, что-нибудь смогу сам.
 ask!
 
 > ЗЫ. Хочу сделать встречную проверку все же именно на sendmail, хотя
 > знаю, что есть более удобные для этого MTA. Hо мне надо разобраться.
 Более удобных нет ;)
 -- 
 Lev Walkin
 vlm@netli.com
 
 --- ifmail v.2.15dev5
  * Origin: Netli, Inc. (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 sendmail.cf   Dmitriy Kyrhlarov   29 Jan 2002 00:59:03 
 Re: sendmail.cf   Spartak Radchenko   29 Jan 2002 01:13:26 
 Re: sendmail.cf   Dmitriy Kyrhlarov   29 Jan 2002 01:27:43 
 Re: sendmail.cf   Lev Walkin   29 Jan 2002 01:25:40 
 sendmail.cf   Serge Matveev   29 Jan 2002 02:34:54 
 Re: sendmail.cf   Lev Walkin   29 Jan 2002 04:05:38 
 Re: sendmail.cf   Valentin Nechayev   29 Jan 2002 11:00:19 
 Re: sendmail.cf   Dmitriy Kyrhlarov   29 Jan 2002 05:47:40 
 Re: sendmail.cf   Lev Walkin   29 Jan 2002 06:28:25 
 Re: sendmail.cf   Lev Walkin   29 Jan 2002 06:32:34 
 Re: sendmail.cf   Valentin Nechayev   29 Jan 2002 11:00:20 
 Re: sendmail.cf   Lev Walkin   29 Jan 2002 23:30:32 
 Re: sendmail.cf   Dmitriy Kyrhlarov   06 Feb 2002 00:39:28 
 Re: sendmail.cf   Spartak Radchenko   06 Feb 2002 04:14:25 
 Re: sendmail.cf   Dmitriy Kyrhlarov   06 Feb 2002 16:13:02 
 Re: sendmail.cf   Valentin Nechayev   07 Feb 2002 02:14:58 
 Re: sendmail.cf   Spartak Radchenko   06 Feb 2002 18:34:52 
 Re: sendmail.cf   Lev Walkin   06 Feb 2002 00:55:48 
 Re: sendmail.cf   Dmitriy Kyrhlarov   06 Feb 2002 16:19:10 
 Re: sendmail.cf   Lev Walkin   06 Feb 2002 21:21:46 
 Re: sendmail.cf   Dmitriy Kyrhlarov   07 Feb 2002 15:12:17 
 Re: sendmail.cf   Gleb Smirnoff   12 Feb 2002 01:27:30 
Архивное /ru.unix.bsd/355089aae165.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional