- require Net::SMTP::TLS;
- my %params;
- if ($cfg->{login}) {
- $params{User} = $cfg->{user};
- $params{Password} = $cfg->{password};
- }
- $self->{smtp} = Net::SMTP::TLS->new($cfg->{host} || 'localhost', Port => $cfg->{port} || 25, %params);
-
- } else {
- my $module = $self->{security} eq 'ssl' ? 'Net::SMTP::SSL' : 'Net::SMTP';
- my $default_port = $self->{security} eq 'ssl' ? 465 : 25;
- eval "require $module" or die $@;
-
- $self->{smtp} = $module->new($cfg->{host} || 'localhost', Port => $cfg->{port} || $default_port);
- $self->{smtp}->auth($cfg->{user}, $cfg->{password}) if $cfg->{login};
+ $self->{smtp}->starttls(SSL_verify_mode => 0) or do {
+ $self->extended_status("$@");
+ die $self->extended_status;
+ };