Postfix a tabulky

Jan Horák horak.jan na icebraker.org
Čtvrtek Květen 4 10:53:20 CEST 2006


Dobry den,
resim tady problem se spravnou konfiguraci Postfixu.

Na zacatek konfigurace:

Postfix posloucha na portu 25 a prijima postu pro schranky, ktere jsou
uvedeny NAPR. v MySQL tabulce (typ tabulky neni dulezity viz. nize).

Konfigurace v /etc/postfix/main.cf:

smtpd_recipient_restrictions = permit_mynetworks,
                                reject_non_fqdn_recipient,
                                check_recipient_access definice_tabulky,
                                reject

virtual_mailbox_domains    = definice_tabulky
virtual_mailbox_maps         = definice_tabulky
virtual_alias_maps               = definice_tabulky
virtual_alias_domains         = definice_tabulky


Problem, ktery resim je ten, ze kdyz nejsou data z te (kterekoliv)
tabulky dostupna, tak bych rad, aby se v SMTP komunikaci okamzite
objevilo, ze data nejsou dostupna a vratilo to chybu 4xx.
Misto toho to Postfix se zkousi porad dokola dotazovat, potom si da 10
vterin klidu a zkusi se dotazovat znova, takze SMTP komunikace je porad
otevrena a za chvili dojdou spojeni (omezeno v konfiguraci Postfixu).

Udelal jsem si totiz vlastni taulku, ktera v pripade ndostupnosti dat
nastavi chybovy kod 2 (1 je RETRY) a vrati NULL.
Jenze to trivial-rewrite moc nezere, zkousi se postupne dotazovat do
vsech tabulek a zadny SMTP kod 4xx se nevraci a dalsi SMTP komunikace
(napr. na schranky o kterych udaje dostupne jsou) se neprijima, jelikoz
je tam prilis mnoho takto vytuhlych SMTP spojeni.

Zkousel jsem spoustet proces 'smtpd' takto:

smtp    inet    n       -       -       -       500      smtpd
         -o content_filter=sluzba
         -o queue_minfree=524288000
	-o virtual_mailbox_domains=
	-o virtual_mailbox_maps=
	-o virtual_alias_maps=
	-o virtual_alias_domains=

ale evidentne se berou v potaz pouze ty volby z main.cf.

Rad bych tedy dosahl jedne ze dvou veci:

1) aby se pri SMTP komunikaci (na portu 25, tech smtpd mi tu bezi vic)
bralo v potaz pouze nastaveni 'smtpd_recipient_restrictions', tj. jedina
tabulka, ktera ihned vraci chybu 4xx

2) jaky chybovy kod mam v Postfixu nastavit a jakou hodnotu (napr. NULL)
vratit jako vysledek dotazu do tabulky, aby to uz Postfix nezkousel,
necekal 10 vterin a nebrzdil tak SMTP komunikaci

Vim, ze ten limit 10 vterin lze stahnout na min, ale to neni reseni.

Predem dekuju za jakoukoliv radu a pokud jsem to popsal nesrozumitelne,
tak se prosim ptejte - veskere dalsi informace rad doplnim,

		Jan Horak.





Další informace o konferenci Sendmail