divert(-1) # # Check to field # # никаких копирайтов! # dnl divert(0) dnl VERSIONID(`$Id: check-to.m4,v 8.12 2002/12/22 19:10:00 corvax Exp $') dnl divert(-1) dnl ifdef(`_CHECK_ADDRESSES_INIT_',,`HACK(`precheck-addresses')') dnl divert(0) dnl dnl LOCAL_CONFIG dnl dnl # # Regular expression to reject some localparts without address in TO (not RCPT TO) field: # KCheckToAddress regex -a@MATCH ^"?(Деловому.человеку|Руководителю.предприятия|BUHGALTER|В.отдел.маркетинга/продаж|Отдел рекламы|Manager|Менеджеру|заказ|recipient|Главному бухгалтеру|post)"?.*<> # # Names that won't be allowed in a To: field (full addresses, local-parts and domains) # dnl C{RejectTo} alena@falbi.kiev.ua dnl C{RejectToLocalparts} friend you user gluck dnl C{RejectToMailboxes} friend you user gluck dnl C{RejectToDomains} public.com the-internet.com dnl dnl F{RejectTo}/etc/mail/reject-to dnl F{RejectToLocalparts}/etc/mail/reject-to-localparts dnl F{RejectToMailboxes}/etc/mail/reject-to-mailboxes dnl F{RejectToDomains}/etc/mail/reject-to-domains dnl ifdef(`confREJECT_TO_LOCALPARTS', `dnl F{RejectToLocalparts}`'confREJECT_TO_LOCALPARTS', `dnl') ifdef(`confREJECT_TO_MAILBOXES', `dnl F{RejectToMailboxes}`'confREJECT_TO_MAILBOXES', `dnl') ifdef(`confREJECT_TO_DOMAIN', `dnl F{RejectToDomains}`'confREJECT_TO_DOMAIN', `dnl') ifdef(`confREJECT_TO', `dnl F{RejectTo}`'confREJECT_TO', `dnl') dnl dnl LOCAL_RULESETS dnl dnl ###################################################################### # Reject some mail based on To: header # ###################################################################### dnl HTo: $>CheckTo dnl SCheckTo dnl ifdef(`confREJECT_TO',`dnl R $={RejectTo} $#error $: 550 5.1.1 User unknown ${Feedback_Msg} R $* , $={RejectTo} $#error $: 550 5.1.1 User unknown ${Feedback_Msg} R $* , $={RejectTo} , $* $#error $: 550 5.1.1 User unknown ${Feedback_Msg} R $={RejectTo} , $* $#error $: 550 5.1.1 User unknown ${Feedback_Msg} R $* < $={RejectTo} > $* $#error $: 550 5.1.1 User unknown ${Feedback_Msg} ',`')dnl ifdef(`confREJECT_TO_DOMAIN',`dnl R $* @ $={RejectToDomains} $#error $: 550 5.1.2 Bad destination system address ${Feedback_Msg} R $* @ $={RejectToDomains} , $* $#error $: 550 5.1.2 Bad destination system address ${Feedback_Msg} R $* < $* @ $={RejectToDomains} > $* $#error $: 550 5.1.2 Bad destination system address ${Feedback_Msg} ',`')dnl ifdef(`confREJECT_TO_MAILBOXES',`dnl R $={RejectToMailboxes} @ $* $#error $: 550 5.1.1 Bad destination mailbox address ${Feedback_Msg} R $* , $={RejectToMailboxes} @ $* $#error $: 550 5.1.1 Bad destination mailbox address ${Feedback_Msg} R $* < $={RejectToMailboxes} @ $* > $* $#error $: 550 5.1.1 Bad destination mailbox address ${Feedback_Msg} ',`')dnl ifdef(`confREJECT_TO_LOCALPARTS',`dnl R $={RejectToLocalparts} < $+ @ $+ > $* $#error $: 550 5.1.1 Bad destination address localparts ${Feedback_Msg} 1 R $* , $={RejectToLocalparts} < $+ @ $+ > $* $#error $: 550 5.1.1 Bad destination address localparts ${Feedback_Msg} 1 R " $={RejectToLocalparts} " < $+ @ $+ > $* $#error $: 550 5.1.1 Bad destination address localparts ${Feedback_Msg} 2 R $* , " $={RejectToLocalparts} " < $+ @ $+ > $* $#error $: 550 5.1.1 Bad destination address localparts ${Feedback_Msg} 2 ',`')dnl R undisclosed-recipients:; $#error $: 550 5.1.1 Bad destination address ${Feedback_Msg} dnl R $* undisclosed-recipients:; $* $#error $: 550 5.1.1 Bad destination address ${Feedback_Msg} R $+ $: $(CheckToAddress $1 $) R @MATCH $#error $: 554 Header Error ${Feedback_Msg} R $+ $: $(checkaddress $1 $) R @MATCH $#error $: 554 Header Error ${Feedback_Msg} R $#error $: 550 5.1.1 Bad destination address ${Feedback_Msg} dnl Stest1 R $+ $: $1 ifdef(`confNUMERIC_DOMAINS', `dnl R $+ @ $={NumericDomains} $: $1 @ $2 ') dnl R $+ @ $+ $: $(allnumbers $1 $: $1 @ $2 $) R @MATCH $#error $: 550 5.1.1 Bad destination mailbox address ${Feedback_Msg} R $+ @ $+ $: $(allnumbersdots $1 $: $1 @ $2 $) R @MATCH $#error $: 550 5.1.1 Bad destination mailbox address ${Feedback_Msg} R $+ @ $+ $: $1 @ $2 R $+ $: $1 dnl Stest2 R $+ $: $1 dnl ifdef(`confNUMERIC_DOMAINS', `dnl R $* < $+ @ $={NumericDomains} > $* $: $1 < $2 @ $3 > $4 ') R $* < $+ @ $+ > $* $: $(allnumbers $2 $: $1 < $2 @ $3 > $4 $) R $* @MATCH $* $#error $: 550 5.1.1 Bad destination mailbox address ${Feedback_Msg} R $* < $+ @ $+ > $* $: $(allnumbersdots $2 $: $1 < $2 @ $3 > $4 $) R $* @MATCH $* $#error $: 550 5.1.1 Bad destination mailbox address ${Feedback_Msg} R $* < $+ @ $+ > $* $: $1 < $2 @ $3 > $4 R $+ $: $1 dnl