[sendmail-conf] MX Й RFC3330

Victor Ustugov victor на corvax.kiev.ua
Вт Дек 13 10:49:24 EET 2005


приветствую

мы оба оказались неправы, причем я - несколько раз

Victor Ustugov wrote:
> Artur Penttinen wrote:
> 
>>>>>так а ты попробовал вариант из начала письма?
>>>>
>>>>sendmail[20265]: jBCBcxSh020265: ruleset=check_rcpt, arg1=<xxxx на xxxx.xx>, relay=201-14-134-65.bnut3702.dsl.brasiltelecom.net.br [201.14.134.65] (may be forged), reject=554 5.7.1 MX $2 [$3] for $1 cannot refer to private or special address space, see RFC 3330
>>>>
>>>>:-)
>>>
>>>факир был пьян и фокус не удался...
>>>но я все равно буду думать, как ссылаться на домено отправителя, PTR и A 
>>>запись рилея в строках access_db
>>
>>  имхо, без патченья исходников sendmail -- никак.

оказалось вполне возможным

надо только заменить строку

R $+ $| $+ $| $+ $| <REJECT $*> <$*>           $#error $@ 5.7.1 $: $4

на строки

R $+ $| $+ $| $+ $| <REJECT $* $$1 $*> <$*>     $: $1 $| $2 $| $3 $| 
<REJECT $4 $1 $5> <$6>
R $+ $| $+ $| $+ $| <REJECT $* $$2 $*> <$*>     $: $1 $| $2 $| $3 $| 
<REJECT $4 $2 $5> <$6>
R $+ $| $+ $| $+ $| <REJECT $* $$3 $*> <$*>     $: $1 $| $2 $| $3 $| 
<REJECT $4 $3 $5> <$6>
R $+ $| $+ $| $+ $| <REJECT $*> <$*>            $#error $@ 5.7.1 $: $4

при этом строка access_db вида

SenderDomainBestMX:127.0.0.1    REJECT  "554 MX " $2 " [" $3 "] for " $1 
" cannot refer to private or special address space, see RFC 3330"

приведет к формированию сообщения

554 5.7.1 MX localhost.fabulous.com. [127.0.0.1] for fe.com cannot refer 
to private or special address space, see RFC 3330

> да уж
> там получается, что $4 - это как раз правая часть строки из access_db, 
> кроме слова REJECT
> и sendmail второй раз не захочет подстановку проводить
> 
> но если очень надо будет, можно пойти по простому пути - в сообщении на 
> сторону отправителя вместо A и PTR записи хоста рилея использовать 
> $&{client_addr} и $&{client_name},

во-первых, sendmail точно также не будет подставлять значение этих 
параметров в сообщение, во-вторых, A и PTR запись рилея отправителя нам 
в данном случае не нужны. нужны A и PTR записи best MX домена отправителя.

> а домен отправителя я могу заносить в 
> какой-нить макро, например ${{mail_addr}_domain}, и уже его имя можно 
> использовать в access_db

ну и тут я имечко выдумал :)
имелось ввиду конечно же ${mail_addr_domain}
но этот вариант становится ненужным, т. к. подстановка значения 
${mail_addr_domain} потребует таких же усилий, как и подстановка 
значений $1, $2 и $3, описанная выше

-- 
Best wishes Victor Ustugov   mailto:victor на corvax.kiev.ua
public GnuPG/PGP key:        http://victor.corvax.kiev.ua/corvax.asc
ICQ: 77186900, 32418694      CRV2-RIPE, CRV-UANIC




Подробная информация о списке рассылки sendmail-conf