init III
This commit is contained in:
67
Perl OTRS/Kernel/System/Email/SMTPTLS.pm
Normal file
67
Perl OTRS/Kernel/System/Email/SMTPTLS.pm
Normal file
@@ -0,0 +1,67 @@
|
||||
# --
|
||||
# Copyright (C) 2001-2019 OTRS AG, https://otrs.com/
|
||||
# --
|
||||
# This software comes with ABSOLUTELY NO WARRANTY. For details, see
|
||||
# the enclosed file COPYING for license information (GPL). If you
|
||||
# did not receive this file, see https://www.gnu.org/licenses/gpl-3.0.txt.
|
||||
# --
|
||||
|
||||
package Kernel::System::Email::SMTPTLS;
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use Net::SMTP;
|
||||
|
||||
use parent qw(Kernel::System::Email::SMTP);
|
||||
|
||||
our @ObjectDependencies = (
|
||||
'Kernel::System::Log',
|
||||
);
|
||||
|
||||
# Use Net::SSLGlue::SMTP on systems with older Net::SMTP modules that cannot handle SMTPTLS.
|
||||
BEGIN {
|
||||
if ( !defined &Net::SMTP::starttls ) {
|
||||
## nofilter(TidyAll::Plugin::OTRS::Perl::Require)
|
||||
## nofilter(TidyAll::Plugin::OTRS::Perl::SyntaxCheck)
|
||||
require Net::SSLGlue::SMTP;
|
||||
}
|
||||
}
|
||||
|
||||
sub _Connect {
|
||||
my ( $Self, %Param ) = @_;
|
||||
|
||||
# check needed stuff
|
||||
for (qw(MailHost FQDN)) {
|
||||
if ( !$Param{$_} ) {
|
||||
$Kernel::OM->Get('Kernel::System::Log')->Log(
|
||||
Priority => 'error',
|
||||
Message => "Need $_!"
|
||||
);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
# Remove a possible port from the FQDN value
|
||||
my $FQDN = $Param{FQDN};
|
||||
$FQDN =~ s{:\d+}{}smx;
|
||||
|
||||
# set up connection connection
|
||||
my $SMTP = Net::SMTP->new(
|
||||
$Param{MailHost},
|
||||
Hello => $FQDN,
|
||||
Port => $Param{SMTPPort} || 587,
|
||||
Timeout => 30,
|
||||
Debug => $Param{SMTPDebug},
|
||||
);
|
||||
|
||||
return if !$SMTP;
|
||||
|
||||
$SMTP->starttls(
|
||||
SSL_verify_mode => 0,
|
||||
);
|
||||
|
||||
return $SMTP;
|
||||
}
|
||||
|
||||
1;
|
||||
Reference in New Issue
Block a user