
--On Saturday, March 29, 2008 9:37 AM -0700 Mark Sapiro <mark@msapiro.net> wrote:
I just checked, and my CentOS 5 system only has Sys::Syslog and not Unix::Syslog. It might be worthwhile to provide your version plus a patch to go back to the old DEBUG w/o logging. OTOH, Unix::Syslog is available from CPAN, DAG, etc., so I don't think it's unreasonable to expect people to be able to get it.
I've got perl-Unix-Syslog-1.0-1.el5.rf installed from RPMForge. There's a page in the CentOS wiki that explains how to enable this yum/RPM repository.
I have another question since I don't know sendmail. Does sendmail execute mm-handler at incoming SMTP time, and if so, does an error exit from mm-handler result in an SMTP failure status being returned to the sending MTA?
Correct. mm-handler is a "mailer" which is invoked upon receipt by sendmail, which typically happens via SMTP. (Sendmail can also accept mail via local socket, or by direct invocation.) It's expected to return a value from /usr/include/sysexits.h. Most Red Hat, Fedora and CentOS users know the procmail mailer, as it's used for local delivery. Based on properties of a message, another mailer may be chosen, either from the config file or from the mailertable map file. The mm-handler README explains how to set up a match on the domain name.
If so, it seems that rather than just dropping a 'bad' message as mm-handler seems to do when $BounceUnapproved = 0; and $BounceNonlist = 0;, wouldn't it be better to exit with a failure status.
Good idea. EX_NOUSER (67) would be a good code to return. Does Perl have a module that defines these codes symbolically? I didn't see anything at CPAN, but I found one here: