Commit 7ce5b04d authored by Frédéric Buclin's avatar Frédéric Buclin

Bug 1082557: Use a persistent connection to the SMTP server for improved performance

r=dylan a=glob
parent b1bdb0ed
......@@ -659,13 +659,16 @@ sub memcached {
# Per-process cleanup. Note that this is a plain subroutine, not a method,
# so we don't have $class available.
sub _cleanup {
my $main = Bugzilla->request_cache->{dbh_main};
my $shadow = Bugzilla->request_cache->{dbh_shadow};
my $cache = Bugzilla->request_cache;
my $main = $cache->{dbh_main};
my $shadow = $cache->{dbh_shadow};
foreach my $dbh ($main, $shadow) {
next if !$dbh;
$dbh->bz_rollback_transaction() if $dbh->bz_in_transaction;
$dbh->disconnect;
}
my $smtp = $cache->{smtp};
$smtp->disconnect if $smtp;
clear_request_cache();
# These are both set by CGI.pm but need to be undone so that
......
......@@ -25,7 +25,7 @@ use Encode qw(encode);
use Encode::MIME::Header;
use Email::MIME;
use Email::Sender::Simple qw(sendmail);
use Email::Sender::Transport::SMTP;
use Email::Sender::Transport::SMTP::Persistent;
use Bugzilla::Sender::Transport::Sendmail;
sub MessageToMTA {
......@@ -127,7 +127,8 @@ sub MessageToMTA {
}
if ($method eq "SMTP") {
$transport = Email::Sender::Transport::SMTP->new({
$transport = Bugzilla->request_cache->{smtp} //=
Email::Sender::Transport::SMTP::Persistent->new({
host => Bugzilla->params->{'smtpserver'},
sasl_username => Bugzilla->params->{'smtp_username'},
sasl_password => Bugzilla->params->{'smtp_password'},
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment