I've written a new plugin which (mostly) replaces the smtp-forward
plugin. See this bug for background:
http://www.contribs.org/bugzilla/show_bug.cgi?id=1850
I looked at enhancing the smtp-forward plugin to handle multiple
internal mail servers, but it got ugly very quickly.
Rather than writing an MTA, I've written a plugin which purely checks
with the internal mail server(s) to see whether they would accept the mail.
If the internal mail server rejects the mail, we DENY it.
If the internal mail server would accept the mail, we DECLINE.
If the internal mail server cannot be contacted, we DENYSOFT.
It seems to work nicely for me. The source is available as an SME Server
patch (it's a complete file patch, so easy to turn into a file):
http://smeserver.cvs.sourceforge.net/*checkout*/smeserver/smeserver-qpsmtpd/P/smeserver-qpsmtpd-1.2.1-check_smtp_forward.patch
Please have a look, comments welcomed. Assuming no major negative
feedback, I'll send it to the bugs list for addition to the standard
plugins.
Thanks,
Gordon