Subject: | Net::SMTP::TLS doesn't appear to support multi-line greeting |
Date: | Fri, 14 Dec 2012 08:30:17 +0000 |
To: | bug-Net-SMTP-TLS [...] rt.cpan.org |
From: | Mike Tubby <mike [...] tubby.org> |
Hello,
Summary:
Net::SMTP::TLS does not appear to correctly handle multi-line SMTP
responses
Example multi-line response:
220-public.tubby.org ESMTP Exim 4.76 #1 Fri, 14 Dec 2012 08:22:44 +0000
220-Computer Misuse Act (1990) UK Applies - Unauthorised access
prohibited
220 Unsolicited Commercial Email (UCE) or 'SPAM' is forbidden.
Description:
I was attempting to debug a new installation of Exim4 on a server
that needs TLS
and AUTH so I wrote small PERL script:
#!/usr/bin/perl
use Net::SMTP::TLS;
$host = "localhost";
$port = 587;
$hello = "x.y";
$user = "fred";
$pass = "bloggs";
$smtp = new Net::SMTP::TLS($host, Port=>$port, Hello=>$hello,
User=>$user, Password=>$pass);
if ($smtp) {
print "ok, proceeding ...\n";
} else {
print "fail, something went wrong: $@\n";
}
exit;
this fails with the following error:
root@public:~# ./auth_tls.pl
EHLO command failed: 220 Computer Misuse Act (1990) UK Applies -
Unauthorised access prohibited
at ./auth_tls.pl line 17
Changing the server greeting fixes this.
System details:
Ubuntu 12.04 LTS 64-bit
root@public:~# uname -a
Linux public 3.2.0-34-generic #53-Ubuntu SMP Thu Nov 15 10:48:16 UTC
2012 x86_64 x86_64 x86_64 GNU/Linux
root@public:~# perl -v
This is perl 5, version 14, subversion 2 (v5.14.2) built for
x86_64-linux-gnu-thread-multi
(with 55 registered patches, see perl -V for more detail)
Regards
Mike