[Mimedefang] Idea to support per-user reject policies w/ multiple recipients

Matthew.van.Eerde at hbinc.com Matthew.van.Eerde at hbinc.com
Fri Apr 15 02:00:36 EDT 2005


OK.  Here's my idea.
Suppose you run a mail server that has a bunch of local addresses.  Fine.
Suppose there are differing ideas among your local addresses as to what mail they want to accept.  Fine.
Now suppose you receive a particular message, addressed to A and B - A wants to accept, and B wants to reject.
What do you do?
 
I have an idea.
You can't accept because that would make B unhappy.
You can't reject because that would make A unhappy.
But - you can tempfail!!!
 
How is that a great idea, you ask?
 
Well, it's genius, I reply.
 
If the message was malware (spam/virus/phish/what-have-you), odds are the sending agent will not bother resending.
 
But what if it really was good mail, you ask?
 
This is the genius part.
 
If it never comes back, congrats - B was right, and A was spared from his own foolishness.
 
If it does come back, here's what you do.
You accept the connection, the helo, and the first legitimate RCPT (let's say it's B this time.)
If you get a second RCPT, you stop.
You think.
You take the connecting IP, the HELO information, and the first two RCPTs, and you look them up in a list you've kept of all the messages you've tempfailed this way in the last seven days.
If you find a match, ahah!  This is probably the same email coming back!
Isn't this just greylisting, you say?
No.  Here's the good part.
Tempfail the second and all further RCPTs.
At this point the sending mail server should move into the DATA phase, since it got an OK on the first RCPT.
B will probably want to reject again.  Let this happen.
Later, the sending mail server will connect again - but this time there will be one fewer recipient!
 
I should say, for very large recipient lists, this could delay some recipients for quite a long time.  For example, if a sending mail server is trying to send one message to 50 recipients at your server, some email addresses might be tempfailed many many times.
 
A way to solve this is to use this treatment only on messages with between two and seven recipients.

Matthew.van.Eerde (at) hbinc.com                 805.964.4554 x902
Hispanic Business Inc./HireDiversity.com         Software Engineer
perl -e"map{y/a-z/l-za-k/;print}shift" "Jjhi pcdiwtg Ptga wprztg," 




More information about the MIMEDefang mailing list