Перенос скрипта с Linux на Freebsd. Net::smtp::ssl

heartbeat

New Member
18.12.2010
3
0
#1
Здравствуйте уважаемое сообщество.

Есть скрипт который проходит авторизацию на почтовом сервере Google и рассылает корпоративную почту. При миграции с Linux сервера на FreeBSD скприт перестал проходить авторизацию... хотя бёрём копируем файл обратно... всё работает. Сразу скажу что login и pass верные, модули собранные...

Код:
#!/usr/bin/perl -w

use Net::SMTP::SSL;

sub send_mail {
my $to = $_[0];
my $subject = $_[1];
my $body = $_[2];

my $from = 'exemple@gmail.com';
my $password = 'xxxxXxX';

my $smtp;

if (not $smtp = Net::SMTP::SSL->new('smtp.gmail.com',
Port => 465,
Debug => 1)) {
die "Could not connect to server\n";
}
$smtp->auth($from, $password) || die "Authentication failed!\n";

$smtp->mail($from . "\n");
my @recepients = split(/,/, $to);
foreach my $recp (@recepients) {
$smtp->to($recp . "\n");
}

$smtp->data();
$smtp->datasend("From: " . $from . "\n");
$smtp->datasend("To: " . $to . "\n");
$smtp->datasend("Subject: " . $subject . "\n");
$smtp->datasend("\n");
$smtp->datasend($body . "\n");
$smtp->dataend();
$smtp->quit;
}

# Send away!
&send_mail('exemple@gmail.com', 'Server just blew up', "@ARGV");


Код:
Net::SMTP::SSL>>> Net::SMTP::SSL(1.01)
Net::SMTP::SSL>>>  IO::Socket::SSL(1.31)
Net::SMTP::SSL>>>	 IO::Socket::INET(1.31)
Net::SMTP::SSL>>>	  IO::Socket(1.31)
Net::SMTP::SSL>>>		 IO::Handle(1.28)
Net::SMTP::SSL>>>		  Exporter(5.63)
Net::SMTP::SSL>>>  Net::Cmd(2.29)
Net::SMTP::SSL=GLOB(0x2867c690)<<< 220 mx.google.com ESMTP t50sm557732eeh.18
Net::SMTP::SSL=GLOB(0x2867c690)>>> EHLO localhost.localdomain
Net::SMTP::SSL=GLOB(0x2867c690)<<< 250-mx.google.com at your service, [1.1.1.1]
Net::SMTP::SSL=GLOB(0x2867c690)<<< 250-SIZE 35651584
Net::SMTP::SSL=GLOB(0x2867c690)<<< 250-8BITMIME
Net::SMTP::SSL=GLOB(0x2867c690)<<< 250-AUTH LOGIN PLAIN XOAUTH
Net::SMTP::SSL=GLOB(0x2867c690)<<< 250 ENHANCEDSTATUSCODES
Authentication failed!