| 1 |
root |
1.1 |
divert(-1) |
| 2 |
|
|
# |
| 3 |
|
|
# Written 2004 Teddy |
| 4 |
|
|
# |
| 5 |
|
|
# Checks the SPF records of sending domain |
| 6 |
|
|
# |
| 7 |
|
|
divert(0) |
| 8 |
|
|
ifdef(`_SPF_',`dnl',`dnl |
| 9 |
|
|
VERSIONID(`$Id: spf.m4,v 1.1.1.1 2004/08/28 17:53:34 jcouzens Exp $') |
| 10 |
|
|
divert(-1) |
| 11 |
|
|
define(`_SPF_',`')')dnl |
| 12 |
|
|
define(`confSPFAction',ifelse(len(X`'_ARG_),`1',`1',_ARG_))dnl |
| 13 |
|
|
define(`confSPFHeaderState',ifelse(len(X`'_ARG2_),`1',`True',_ARG2_))dnl |
| 14 |
|
|
define(`confSPFBestGuessState',ifelse(len(X`'_ARG3_),`1',`0',_ARG3_))dnl |
| 15 |
|
|
define(`confSPFTrustedForwarderState',ifelse(len(X`'_ARG4_),`1',`0',_ARG4_))dnl |
| 16 |
|
|
define(`confSPFExplainState',ifelse(len(X`'_ARG5_),`1',`True',_ARG5_))dnl |
| 17 |
|
|
define(`confSPFBestGuess',ifelse(len(X`'_ARG6_),`1',`v=spf1 a/24 mx/24 ptr',_ARG6_))dnl |
| 18 |
|
|
define(`confSPFTrustedForwarder',ifelse(len(X`'_ARG7_),`1',`v=spf1 include:spf.trusted-forwarder.org',_ARG7_))dnl |
| 19 |
|
|
define(`confSPFExplain',ifelse(len(X`'_ARG8_),`1',`See http://spf.pobox.com/why.html?sender=%{S}&ip=%{I}&receiver=%{xR}',_ARG8_))dnl |
| 20 |
|
|
divert(8) |
| 21 |
|
|
# Checks the SPF records of sending domain |
| 22 |
|
|
R$* $: $1 $| <?>$&{spfreject}<?> |
| 23 |
|
|
R$* $| <?>1<?> $#error $@ 5.7.1 $: "550 Mail from [" $&{client_addr} "] Rejected. " $&{spfexplain} |
| 24 |
|
|
R$* $| <?>$* $: $1 |
| 25 |
|
|
divert(-1) |