diff --git a/webtools/bugzilla/defparams.pl b/webtools/bugzilla/defparams.pl index 6760d4ddbdac..695bd2c9c964 100644 --- a/webtools/bugzilla/defparams.pl +++ b/webtools/bugzilla/defparams.pl @@ -261,6 +261,10 @@ DefParam("shutdownhtml", "l", ""); +DefParam("sendmailnow", + "If this is on, Bugzilla will tell sendmail to send any e-mail immediately. If you have a large number of users with a large amount of e-mail traffic, enabling this option may dramatically slow down Bugzilla. Best used for smaller installations of Bugzilla.", + "b", + 0); DefParam("passwordmail", q{The email that gets sent to people to tell them their password. Within diff --git a/webtools/bugzilla/processmail b/webtools/bugzilla/processmail index 35ecb2b75d8d..6004f66326ce 100755 --- a/webtools/bugzilla/processmail +++ b/webtools/bugzilla/processmail @@ -584,7 +584,12 @@ sub NewProcessOnePerson ($$\@\%\%\%$$$$) { my $template = Param("newchangedmail"); my $msg = PerformSubsts($template, \%substs); - open(SENDMAIL, "|/usr/lib/sendmail -ODeliveryMode=deferred -t") || + + my $sendmailparam = "-ODeliveryMode=deferred"; + if (Param("sendmailnow")) { + my $sendmailparam = ""; + } + open(SENDMAIL, "|/usr/lib/sendmail $sendmailparam -t") || die "Can't open sendmail"; print SENDMAIL trim($msg) . "\n"; @@ -647,8 +652,12 @@ sub ProcessOneBug { if (!$regenerate) { # Note: fixaddresses may result in a Cc: only. This seems # harmless. + my $sendmailparam = "-ODeliveryMode=deferred"; + if (Param("sendmailnow")) { + my $sendmailparam = ""; + } open(SENDMAIL, - "|/usr/lib/sendmail -ODeliveryMode=deferred -t") || + "|/usr/lib/sendmail $sendmailparam -t") || die "Can't open sendmail"; print SENDMAIL $msg;