X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2FMisc.pm;h=669c44e70823a690de5235e93278f11be0b13894;hp=0e366e8c7b065f5b95471811be860cfe75e9ba1c;hb=12c0f8134129c1fedd9580beb7bb13b2c0e9bd8a;hpb=ec8be6c17823eadf046438cce7925329e653c17a diff --git a/FS/FS/Misc.pm b/FS/FS/Misc.pm index 0e366e8c7..669c44e70 100644 --- a/FS/FS/Misc.pm +++ b/FS/FS/Misc.pm @@ -109,7 +109,8 @@ use vars qw( $conf ); use Date::Format; use MIME::Entity; use Email::Sender::Simple qw(sendmail); -use Email::Sender::Transport::SMTP 1.300027; #for SSL/TLS support +use Email::Sender::Transport::SMTP; +use Email::Sender::Transport::SMTP::TLS 0.11; use FS::UID; FS::UID->install_callback( sub { @@ -248,18 +249,18 @@ sub send_email { my($port, $enc) = split('-', ($conf->config('smtp-encryption') || '25') ); $smtp_opt{'port'} = $port; + my $transport; if ( defined($enc) && $enc eq 'starttls' ) { - $smtp_opt{'ssl'} = 'starttls'; - } elsif ( defined($enc) && $enc eq 'tls' ) { - $smtp_opt{'ssl'} = 'ssl'; - } - - if ( $conf->exists('smtp-username') && $conf->exists('smtp-password') ) { - $smtp_opt{"sasl_$_"} = $conf->config("smtp-$_") for qw(username password); + $smtp_opt{$_} = $conf->config("smtp-$_") for qw(username password); + $transport = Email::Sender::Transport::SMTP::TLS->new( %smtp_opt ); + } else { + if ( $conf->exists('smtp-username') && $conf->exists('smtp-password') ) { + $smtp_opt{"sasl_$_"} = $conf->config("smtp-$_") for qw(username password); + } + $smtp_opt{'ssl'} = 1 if defined($enc) && $enc eq 'tls'; + $transport = Email::Sender::Transport::SMTP->new( %smtp_opt ); } - my $transport = Email::Sender::Transport::SMTP->new( %smtp_opt ); - push @to, $options{bcc} if defined($options{bcc}); # fully unpack all addresses found in @to (including Bcc) to make the # envelope list