This thread is long dead, but I'm surprised no one suggested mimedefang.
--
We're just a Bunch Of Regular Guys, a collective group that's trying
to understand and assimilate technology. We feel that resistance to
new ideas and technology is unwise and ultimately futile.
On 12/6/06, Kelly Jones <kelly.terry.jones@???> wrote:
> I have an SMTP server that mostly just accepts mail (sends very little
> email out), and I want to write Perl/PHP scripts (not C code!) to
> control every step of a remote connection. At each step, I want the
> option to tempfail/permfail the email or even drop the connection
> entirely. Examples:
>
> Even before the sender says "HELO", I want the ability to return stuff like:
>
> 550 You're on an RBL. Go away.
> 450 Your IP address is already sending me mail. Try again later.
> [drop the connection silently w/ no message; prevents DOS attacks]
> [do nothing at all; let the sender go to the next step]
>
> After the sender says HELO, I might do:
>
> 550 Your HELO is *my* server? I don't think so!
> 450 HELO doesn't match domain, but if you connect twice more, I'll let you
> in
> 250 Hello, [ip address], how's it going?
>
> [in the 2nd case, I'd keep track of the senders HELO/IP combination
> somewhere, so I could ok them if they connected twice more]
>
> Same sort of thing after I get "MAIL FROM" (maybe I don't like certain
> senders) and each "RCPT TO" (I may graylist certain recipient-sender
> combinations).
>
> Finally, I want the ability to call an arbitrary Perl/PHP script after
> the DATA is sent (maybe run it through spamassassin)
>
> Basically, I'm looking for an SMTP server w/ lots of "hooks"--
> something that works well out of the box, but something I can also
> tweak easily if I want.
>
> I don't like the options I have so far:
>
> 1. Use sendmail and milter (requires coding in C, ugly macros, and
> hard to understand)
>
> 2. Write my own SMTP server (don't want to re-invent the wheel, even
> though the RFC doesn't seem THAT bad)
>
> What's the best SMTP server for my purposes?
>
> And, yes, I realize some of my examples above are lousy-- I'm looking
> for a solid foundation SMTP server to experiment with, not planning to
> use on a production system.