divert(-1) # # Copyright (c) 2003, 2004 Victor Ustugov # This hack is under BSD License # Redistributions of source code must retain the above copyright notice # # hacks disscussion's maillist - http://www.mta.org.ua/mailman/listinfo/sendmail-conf # # # Is the mail outgoing # divert(0) VERSIONID(`$Id: is_outgoing.m4,v 8.12-0.04 2004/07/23 15:11:10 corvax Exp $')dnl divert(-1) dnl dnl LOCAL_CONFIG dnl dnl ifdef(confCHECK_OUTGOING_IN, `ACCESS_DB', ` ifdef(`_ACCESS_TABLE_', `', ` errprint(`*** ERROR: HACK(is_outgoing) requires FEATURE(access_db) ')')') dnl dnl LOCAL_RULESETS dnl dnl SSetIsOutgoing R $* $: $(macro {IsOutgoing} $@ NO $) $1 R $* $: $1 $| $>IsOutgoing $&{client_addr} R $* $| $* $: $(macro {IsOutgoing} $@ YES $) $1 R $* $| $* $: $1 SIsOutgoing dnl dnl используется для поиска локальных адресов в /etc/mail/local-host-names ($w) dnl в /etc/mail/local-host-names ($w) адреса автоматически перечисляются в виде dnl [A.B.C.D] dnl define(`confCHECK_OUTGOING_IN', `LOCAL_HOST_NAMES')dnl dnl dnl используется для поиска локальных адресов в /etc/mail/relay-domains ($R) dnl в /etc/mail/relay-domains адреса указываются в виде: dnl A.B.C.D dnl A.B.C. dnl A.B. dnl define(`confCHECK_OUTGOING_IN', `RELAY_DOMAINS')dnl dnl dnl используется для поиска локальных адресов в access.db dnl в access.db адреса указываются в виде: dnl A.B.C.D RELAY dnl A.B.C RELAY dnl A.B RELAY dnl A RELAY dnl следующий способ указания адресов используется для совместимости со старой версией HACK'а: dnl A.B.C. RELAY dnl A.B.C.0/24 RELAY dnl define(`confCHECK_OUTGOING_IN', `ACCESS_DB')dnl dnl R $-.$-.$-.$- $: $1.$2.$3.$4 dnl ifelse_strstr(confCHECK_OUTGOING_IN, `LOCAL_HOST_NAMES', `dnl R $-.$-.$-.$- $: [ $1.$2.$3.$4 ] R $=w $: $1 R <$+> [ $+ ] $: <$1> $2 R $+ $@ $1 ') dnl ifelse_strstr(confCHECK_OUTGOING_IN, `RELAY_DOMAINS', `dnl R $=R $* $@ $1 $2 R $=R . $* $@ $1 . $2 ') dnl ifelse_strstr(confCHECK_OUTGOING_IN, `ACCESS_DB', `dnl R $-.$-.$-.$- $: $>A <$1.$2.$3.$4> <+Connect> <$1.$2.$3.$4 > R <$*> <$-.$-.$-.$-> $: <$1> $2.$3.$4.$5 R $-.$-.$-.$- $: < $(access Connect:$1.$2.$3. $: ? $) > $1.$2.$3.$4 R $-.$-.$-.$- $: < $(access $1.$2.$3. $: ? $) > $1.$2.$3.$4 R $-.$-.$-.$- $: < $(access Connect:$1.$2.$3.0/24 $: ? $) > $1.$2.$3.$4 R $-.$-.$-.$- $: < $(access $1.$2.$3.0/24 $: ? $) > $1.$2.$3.$4 R $* $@ $1 ') dnl R <$*> $* $: $2 dnl