Sendmail - smerovani podle odesilatele ?

Alexandr Malusek malusek na sysel.ujf.cas.cz
Čtvrtek Srpen 7 11:43:43 CEST 1997


> Lze si ale predstavit, ze pomoci makra obsahujiciho adresu
> odesilatele se rozsiri adresa adresata a odpovidajici pravidlo pro
> vyber tripple pak bude posuzovat i adresu odesilatele. Nejsem si ale
> zcela jist, jestli pouziti makra dynamicky meneneho sendmailem
> (napr. $f) zafunguje v prepisovacich pravidlech korektne - musel
> bych to vyzkouset.

Vyzkousel jsem to a nefunguje to, nebot sendmail v prepisovacich
pravidlech nahrazuje makra v okamziku nacitani konfiguracniho souboru.
(Tyka se to i internich maker sendmailu jako napr. $f.)

Nasledujici moznost by mela fungovat, ale je tak trochu "tricky" a s
vetsim overheadem, takze mozna by pro tento ucel bylo lepsi pouzit jiny
MTA (neporadim ktery, protoze podrobne znam jen sendmail).

Misto (e)smtp maileru v konfiguracnim souboru sendmailu pouzijete
program (v AWK, PERL, sh, C, ...). Tento program na zaklade adresy
odesilatele vyvola sendmail pro doruceni, ale s konfiguracnim
souborem, ktery bude definovat spravny relay. Symbolicky:

# program
switch(domena) {
  case 'dom1.cz': /usr/lib/sendmail -Crelay_dom1.cf $1;
  case 'dom2.cz': /usr/lib/sendmail -Crelay_dom2.cf $1;
  default:        /usr/lib/sendmail -Cdefault.cf $1;
}

domena je postovni domena v adrese odesilatele a $1 je adresa
adresata.  sendmail predava programu zpravu pres standardni vstup, ten
ji dale pres standardni vstup predava programu /usr/lib/sendmail. Asi
by bylo potreba zpravu jeste nejak filtrovat - musel bych vyzkouset,
jak vypada obalka, ...

Overhead je vetsi v tom, ze pro doruceni kazde zpravy je nutne vyvolat
tento program a dalsi sendmail.

Neni to prace na nekolik minut, ale podobny "hack" jsem v pripade uucp
jiz delal.

-- 
Alexandr Malusek (malusek na ujf.cas.cz)
UJF AV CR


Další informace o konferenci Linux