diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2006-09-14 15:18:52 +0000 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2006-09-14 15:18:52 +0000 |
commit | 2ff2dfa82ac92b539d38fcb525d9f18dbbbdae86 (patch) | |
tree | c8342f0ea3df49f624cdb9d2f4078304a746e5a9 /etc | |
parent | fc9a26640bc4267b2d08025586a94e29ebfaafb7 (diff) | |
download | mailfromd-2ff2dfa82ac92b539d38fcb525d9f18dbbbdae86.tar.gz mailfromd-2ff2dfa82ac92b539d38fcb525d9f18dbbbdae86.tar.bz2 |
Update
git-svn-id: file:///svnroot/mailfromd/trunk@582 7a8a7f39-df28-0410-adc6-e0d955640f24
Diffstat (limited to 'etc')
-rw-r--r-- | etc/mailfromd.rc | 41 |
1 files changed, 30 insertions, 11 deletions
diff --git a/etc/mailfromd.rc b/etc/mailfromd.rc index 318d1cde..1b43e01f 100644 --- a/etc/mailfromd.rc +++ b/etc/mailfromd.rc @@ -18,37 +18,37 @@ #pragma option relay "/etc/mail/sendmail.cw" #pragma option relay "/etc/mail/relay-domains" -#pragma option timeout 7500 +#pragma option timeout 33 #pragma option retry 3 -#pragma option milter-timeout 7 #pragma option mailfrom "" -#pragma option ehlo "gnu.org" +#pragma option ehlo "your.domain" #pragma regex +extended +icase -#pragma option debug 10 +#pragma option debug 1 prog envfrom do if $f = "" - accept + next elif hostname ${client_addr} matches ".*(adsl|sdsl|hdsl|ldsl|dialin|dialup|ppp|dhcp|dynamic).*" reject 550 5.7.1 "Use your SMTP relay" elif hostname ${client_addr} matches ".*-[0-9]{1,3}-[0-9]{1,3}-[0-9]{1,3}-[0-9]{1,3}.*" on poll host ${client_addr} for $f do when success: - accept + next when not_found or failure: reject 550 5.1.0 "Sender validity not confirmed" when temp_failure: tempfail 450 4.1.0 "Try again later" done elif relayed hostname ${client_addr} - accept - elif $f fnmatches "*yahoo.com" - accept + next + elif $f mx fnmatches "*.yahoo.com" + or $f mx fnmatches "*.namaeserver.com" + next else on poll $f do when success: - accept + next when not_found or failure: reject 550 5.1.0 "Sender validity not confirmed" when temp_failure: @@ -56,9 +56,28 @@ do done fi - if rate($f "-" ${client_addr}, interval(1 hour 30 minutes)) > 100 + if rate($f "-" ${client_addr}, interval("1 hour 30 minutes")) > 100 tempfail 450 4.7.0 "Mail sending rate exceeded. Try again later" fi done +prog envrcpt +do + set gltime interval("1 hour") + if $f mx fnmatches "*.yahoo.com" + or $f mx fnmatches "*.namaeserver.com" + and not dbmap("/var/run/whitelist.db", $client_addr) + if greylist($client_addr "-" $f "-" $rcpt_addr, %gltime) + if %greylist_seconds_left = %gltime + tempfail 450 4.7.0 + "You are greylisted for " %gltime " seconds" + else + tempfail 450 4.7.0 + "Still greylisted for " + %greylist_seconds_left " seconds" + fi + fi + fi +done + |