From: Ivan Kohler Date: Sat, 13 Feb 2021 17:57:58 +0000 (-0800) Subject: Email::Sender::Transport::SMTP::TLS no longer needed X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=103dfde149eec5034696d073253255f508a1be78;ds=sidebyside Email::Sender::Transport::SMTP::TLS no longer needed --- diff --git a/FS/FS/msg_template/email.pm b/FS/FS/msg_template/email.pm index c2c370760..53a13aebc 100644 --- a/FS/FS/msg_template/email.pm +++ b/FS/FS/msg_template/email.pm @@ -19,6 +19,7 @@ use Encode; use FS::Misc qw( generate_email ); use FS::Conf; use Email::Sender::Simple qw( sendmail ); +use Email::Sender::Transport::SMTP; use FS::Record qw( qsearch qsearchs ); @@ -549,18 +550,20 @@ sub send_prepared { my($port, $enc) = split('-', ($conf->config('smtp-encryption') || '25') ); $smtp_opt{'port'} = $port; - my $transport; - if ( defined($enc) && $enc eq 'starttls' ) { - $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 ); + if ( $conf->exists('smtp-username') && $conf->exists('smtp-password') ) { + $smtp_opt{"sasl_$_"} = $conf->config("smtp-$_") for qw(username password); + } elsif ( defined($enc) && $enc eq 'starttls') { + $error = "SMTP settings misconfiguration: STARTTLS enabled in ". + "smtp-encryption but smtp-username or smtp-password missing"; + } + + if ( defined($enc) ) { + $smtp_opt{'ssl'} = 'starttls' if $enc eq 'starttls'; + $smtp_opt{'ssl'} = 1 if $enc eq 'tls'; } + my $transport = Email::Sender::Transport::SMTP->new( %smtp_opt ); + warn "$me sending message\n" if $DEBUG; my $message = join("\n", $cust_msg->header, $cust_msg->body); local $@;