Sendmail Config: Difference between revisions

From Playing with linux...
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
The following configuration part is a replacement for the check_mail ruleSet. It can check whether the domains from LocalDomains within the from-addresses being offered to sendmail are coming from the IP-addresses/ranges that are defined in LocalIP.
<pre>
<pre>
F{LocalDomains} /etc/mail/LocalDomains
F{LocalDomains} /etc/mail/LocalDomains
Line 23: Line 25:
R$* $| $#$*            $#$2
R$* $| $#$*            $#$2
R$* $| $*              $@ $>"Basic_check_mail" $1
R$* $| $*              $@ $>"Basic_check_mail" $1
</pre>
LocalDomains:
<pre>
localhost
beeblebrox.example.com
foobar.example.com
</pre>
LocalIP:
<pre>
127.
192.168.1.2
10.12.
IPv6:::1
IPv6:2001:dead:beef:
</pre>
</pre>

Revision as of 21:06, 7 March 2012

The following configuration part is a replacement for the check_mail ruleSet. It can check whether the domains from LocalDomains within the from-addresses being offered to sendmail are coming from the IP-addresses/ranges that are defined in LocalIP.

F{LocalDomains} /etc/mail/LocalDomains
F{LocalIP} /etc/mail/LocalIP

Scheck_mail
# ruleset 3 makes the input into a normal e-mail address (user<@blaat.nl.>)
R$*                     $: $>3 $1

# first: get client addr
R$+                     $: $(dequote "" $&{client_addr} $) $| $1
# no client_addr, smmsp?
R0 $| $*                $: $>"check_mail2" $1
# client_addr in /etc/mail/LocalIP? then go to SLocal_check_mail
R$={LocalIP}$* $| $*    $: $1 $| $>"Local_check_mail" $1

# mail from user@domain, domain in /etc/mail/LocalDomains? Then reject, because it is not a local IP
R$*<@$={LocalDomains}.>$*        $#error $@ 5.7.1 $: "550 We don't accept junk mail from our own domains"
R$*<@$={LocalDomains}>$*         $#error $@ 5.7.1 $: "550 We don't accept junk mail from our own domains"

SLocal_check_mail
Scheck_mail2
R$*                     $: $1 $| $>"Local_check_mail" $1
R$* $| $#$*             $#$2
R$* $| $*               $@ $>"Basic_check_mail" $1

LocalDomains:

localhost
beeblebrox.example.com
foobar.example.com

LocalIP:

127.
192.168.1.2
10.12.
IPv6:::1
IPv6:2001:dead:beef: