Uprava sendmail.cf pro specialni mailer

Tom Mueller tom na cnb.cz
Středa Červen 7 08:27:04 CEST 2000


> R$*<@domena.cz.>$*   $# xlocalmbx $@ mbx $: $1<@domena.cz.>$2
> 
> A funguje to, mailer pracuje a dela to co ma.
> Jeste upresnim, ze "domena.cz" je lokalni (a je uvedena v sendmail.cw
> i lokalne bezici DNSko ji preklada na lokalni IP a MX zaznam ukazuje tez na
> tento lokalni pocitac).
> 
> No a ted jsem teda nejak chtel provest tu modifikaci, aby se tento mailer
> "xlocalmbx" pouzival pro veskere cizi domeny a pro mistni domenu
> "domena.cz" se pouzival standardni "local" (tedy klasicke mistni
> dorucovani),
> ale nemohu objevit jak spravne zmodifikovat zasah do sendmail.cf

Rozhodnuti o tom, ktery mailer se ma pro danou adresu pouzit provadi
ruleset 0 (S0). V predpripravenych balicich sendmailu, tedy ve vzorovych
sendmail.cf, vola S0 dalsi "pomocne" rulesety. Napr. S98, coz ma vetsinou byt
jakasi lokalni cast S0, tedy asi to, co bych mohl mit na ruznych strojich jine,
pokud bych chtel mit stejne S0. U nas ji de facto nijak nepouzivame. S0
dale casto vola takovy svuj predni a zadni konec SParse0 a SParse1 (Pozn.
pri trasovani pomoci sendmail -bt se na vystupu nejmenuji Parse0 apod. ale
cisluji se od 99 dolu).

To co pozadujete bych soupnul do SParse1, tedy na konec S0 takhle:
- nejdriv stanovim, ze neco na domena.cz se ma vyridit mailerem local
- to co zbyde se ma dorucit mailerem xlocalmbx

R$+ < @ $=w . >         $#local $: @ $1
R$+                     $#xlocalmbx $@ mbx $: $1

Kde w je trida urcujici co je mistni stroj a je naplnena bud primo:
Cwjmeno
a nebo ze souboru napr. /etc/mail/sendmail.cw
Fw-o /etc/mail/sendmail.cw

Pokud byste pouzil lokalniho adresata bez domeny a az k temto pravidlum
by jste si tam napr. pro adresu "root" nepridal "@domena.cz", tedy z
root neudelal root na domena.cz, pak by samotna adresa root, nemaje za sebou
@$=w., projela az na to druhe pravidlo, tedy blbe. Pak by se to muselo udelat
takhle:

R$+ < @ $=w . >         $#local $: @ $1			
R$+ < @ $+ . >          $#xlocalmbx $@ mbx $: $1 < @ $2 >
R$+                     $#local $: @ $1

Pozn.: $+ ma proti $* zde tu vyhodu, ze se matchuje (spasuje) s jednim
nebo vice tokeny (lexikalnimi atomy, "slovy" ktera vypadnou z lexikalni
analyzy pri parsovani (rozkladani) adresy), kdezto $* se muze matchovat
(spasovat) s zadnym tokenem (slovem), tedy s nicim.
-- 
Tom Mueller


Další informace o konferenci Sendmail