
Kenneth Porter wrote:
I don't have any preference. My version does depend on the presence of the syslog module, and I don't know how commonly-installed that is. But I don't know under what systems the debugging to stderr is supposed to work. Is that a Sun thing?
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.
As I understand it (possibly wrong), the way this
if ($DEBUG) {
$to = join(',', @to);
print STDERR "to: $to\n";
print STDERR "sender: $sender\n";
print STDERR "server: $server\n";
exit(-1);
}
works is it exits with an error, so sendmail returns an undeliverable status/notice containing the script output.
Obviously, your logging is much nicer.
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?
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.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan