Hello

Turns out that Perl module Net::SMTP supports SSL since 2014 [1], but bts still 
use Net::SMTPS which is an old wrapper around Net::SMTP.

I've patched bts to use Net::SMTP instead of Net::STMPS and I can connect to 
Daniel's server:

$ perl -MDevel::SimpleTrace scripts/bts.pl --smtp-host smtps://mail.wgdd.de 
usertag 1029588 + dod-test-with-tls
Net::SMTP::_SSL>>> Net::SMTP::_SSL
Net::SMTP::_SSL>>>   IO::Socket::SSL(2.081)
Net::SMTP::_SSL>>>     IO::Socket::IP(0.41)
Net::SMTP::_SSL>>>       IO::Socket(1.49)
Net::SMTP::_SSL>>>         IO::Handle(1.48)
Net::SMTP::_SSL>>>           Exporter(5.77)
Net::SMTP::_SSL>>>   Net::SMTP(3.14)
Net::SMTP::_SSL>>>     Net::Cmd(3.14)
Net::SMTP::_SSL=GLOB(0x5590e82e5878)<<< 220 mail.wgdd.de ESMTP Postfix 
(Debian/GNU)
Net::SMTP::_SSL=GLOB(0x5590e82e5878)>>> EHLO free.fr
Net::SMTP::_SSL=GLOB(0x5590e82e5878)<<< 250-mail.wgdd.de
Net::SMTP::_SSL=GLOB(0x5590e82e5878)<<< 250-PIPELINING
Net::SMTP::_SSL=GLOB(0x5590e82e5878)<<< 250-SIZE
Net::SMTP::_SSL=GLOB(0x5590e82e5878)<<< 250-ETRN
Net::SMTP::_SSL=GLOB(0x5590e82e5878)<<< 250-AUTH PLAIN LOGIN
Net::SMTP::_SSL=GLOB(0x5590e82e5878)<<< 250-AUTH=PLAIN LOGIN
Net::SMTP::_SSL=GLOB(0x5590e82e5878)<<< 250-ENHANCEDSTATUSCODES
Net::SMTP::_SSL=GLOB(0x5590e82e5878)<<< 250-8BITMIME
Net::SMTP::_SSL=GLOB(0x5590e82e5878)<<< 250-DSN
Net::SMTP::_SSL=GLOB(0x5590e82e5878)<<< 250-SMTPUTF8
Net::SMTP::_SSL=GLOB(0x5590e82e5878)<<< 250 CHUNKING
Net::SMTP::_SSL=GLOB(0x5590e82e5878)>>> MAIL FROM:<d...@debian.org>
Net::SMTP::_SSL=GLOB(0x5590e82e5878)<<< 250 2.1.0 Ok
Net::SMTP::_SSL=GLOB(0x5590e82e5878)>>> RCPT TO:<cont...@bugs.debian.org>
Net::SMTP::_SSL=GLOB(0x5590e82e5878)<<< 554 5.7.1 
<91-175-103-119.subs.proxad.net[91.175.103.119]>: Client host rejected: Access 
denied
bts.pl: failed to set SMTP recipient cont...@bugs.debian.org
()
        at main::send_mail(mail.wgdd.de)
        at main::mailbtsall(scripts/bts.pl:2848)
        at main::(scripts/bts.pl:834)

bts fails later probably because of my mail config (proxad system is free.fr 
mail server).

Anyhow, the failure occurs after bts is connected to Daniel's server.

Could you test bts with the patch below ? (feel free to remove the Debug 
argument)

All the best

[1] https://metacpan.org/dist/libnet/changes#L256


diff --git a/scripts/bts.pl b/scripts/bts.pl
index 7449c7ca..6ed35437 100755
--- a/scripts/bts.pl
+++ b/scripts/bts.pl
@@ -106,7 +106,7 @@ sub have_lwp() {
 
 sub have_smtps() {
     return ($smtps_broken ? 0 : 1) if defined $smtps_broken;
-    eval { require Net::SMTPS; };
+    eval { require Net::SMTP; };
 
     if ($@) {
         if ($@ =~ m%^Can\'t locate Net/SMTPS%) {
@@ -2703,11 +2703,12 @@ sub send_mail {
             $port ||= '465';
 
             if (have_smtps) {
-                $smtp = Net::SMTPS->new(
+                $smtp = Net::SMTP->new(
                     $host,
                     Port  => $port,
                     Hello => $smtphelo,
-                    doSSL => 'ssl'
+                    SSL => 1,
+                    Debug => 1,
                   )
                   or die
 "$progname: failed to open SMTPS connection to $smtphost\n($@)\n";
@@ -2720,11 +2721,10 @@ sub send_mail {
             $port ||= '25';
 
             if (have_smtps) {
-                $smtp = Net::SMTPS->new(
+                $smtp = Net::SMTP->new(
                     $host,
                     Port  => $port,
                     Hello => $smtphelo,
-                    doSSL => 'starttls'
                   )
                   or die
 "$progname: failed to open SMTP connection to $smtphost\n($@)\n";

Reply via email to