summaryrefslogtreecommitdiff
path: root/FS/FS/msg_template
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2021-02-13 09:57:58 -0800
committerIvan Kohler <ivan@freeside.biz>2021-02-13 09:57:58 -0800
commit103dfde149eec5034696d073253255f508a1be78 (patch)
treeaf64c518f00a83f7889d947022e9435e5cef45d6 /FS/FS/msg_template
parentc2dbe36096332d1e09bc58d7d9903e05247f0c9b (diff)
Email::Sender::Transport::SMTP::TLS no longer needed
Diffstat (limited to 'FS/FS/msg_template')
-rw-r--r--FS/FS/msg_template/email.pm23
1 files changed, 13 insertions, 10 deletions
diff --git a/FS/FS/msg_template/email.pm b/FS/FS/msg_template/email.pm
index c2c3707..53a13ae 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 $@;