2015-12-06 3 views
0
#!perl 
use warnings; 
use strict; 
use Net::SMTP; 

my $smtpserver = 'server'; 
my $smtpport = 25; 
my $smtpuser = 'username'; 
my $smtppassword = 'password'; 

my $smtp = Net::SMTP->new($smtpserver, Port=>$smtpport, Timeout => 10, Debug => 1); 
die "Could not connect to server!\n" unless $smtp; 

$smtp->auth($smtpuser, $smtppassword); 
$smtp->mail('[email protected]'); 
$smtp->to('[email protected]'); 
$smtp->data(); 
$smtp->datasend("To: mymail\@gmail.com\n"); 
$smtp->datasend("bla bla bla ... \n"); 
$smtp->quit; 

Когда я выполняю этот код, я получил следующий результат. У меня нет больше знаний о perl, но проект Perl, поэтому я должен сделать это таким образом.Perl-код, я не понимаю выведенную ошибку

Что происходит ниже: я не понимаю этого лично.

Net::SMTP>>> Net::SMTP(2.29) 
    Net::SMTP>>> Net::Cmd(2.26) 
    Net::SMTP>>>  Exporter(5.58)enter code here 
    Net::SMTP>>> IO::Socket::INET(1.27) 
    Net::SMTP>>>  IO::Socket(1.28) 
    Net::SMTP>>>  IO::Handle(1.24) 
    Net::SMTP=GLOB(0x7a6280)<<< 220 server ESMTP Sendmail 8.13.1/8.13.1; Sun, 6 Dec 2015 19:34:41 +0530 
    Net::SMTP=GLOB(0x7a6280)>>> EHLO localhost.localdomain 
    Net::SMTP=GLOB(0x7a6280)<<< 250-server Hello localhost.localdomain [127.0.0.1], pleased to meet you 
    Net::SMTP=GLOB(0x7a6280)<<< 250-ENHANCEDSTATUSCODES 
    Net::SMTP=GLOB(0x7a6280)<<< 250-PIPELINING 
    Net::SMTP=GLOB(0x7a6280)<<< 250-8BITMIME 
    Net::SMTP=GLOB(0x7a6280)<<< 250-SIZE 
    Net::SMTP=GLOB(0x7a6280)<<< 250-DSN 
    Net::SMTP=GLOB(0x7a6280)<<< 250-ETRN 
    Net::SMTP=GLOB(0x7a6280)<<< 250-AUTH GSSAPI DIGEST-MD5 CRAM-MD5 
    Net::SMTP=GLOB(0x7a6280)<<< 250-DELIVERBY 
    Net::SMTP=GLOB(0x7a6280)<<< 250 HELP 
    Net::SMTP=GLOB(0x7a6280)>>> MAIL FROM:<sendermail> 
    Net::SMTP=GLOB(0x7a6280)<<< 250 2.1.0 <sendermail>... Sender ok 
    Net::SMTP=GLOB(0x7a6280)>>> RCPT TO:<receipient mail> 
    Net::SMTP=GLOB(0x7a6280)<<< 250 2.1.5 <recipient mail>... Recipient ok 
    Net::SMTP=GLOB(0x7a6280)>>> DATA 
    Net::SMTP=GLOB(0x7a6280)<<< 354 Enter mail, end with "." on a line by itself 
    Net::SMTP=GLOB(0x7a6280)>>> To: [email protected] 
    Net::SMTP=GLOB(0x7a6280)>>> . 
    Net::SMTP=GLOB(0x7a6280)<<< 250 2.0.0 tB6EJbum025820 Message accepted for delivery 
    Net::SMTP=GLOB(0x7a6280)>>> QUIT 
    Net::SMTP=GLOB(0x7a6280)<<< 221 2.0.0 server closing connection 

Я буду очень признателен за любую помощь - заблаговременно.

+4

Что заставляет вас думать, что оно не работает? –

+0

В нем говорится, что он отправил письмо на адрес [email protected], вы говорите, что не получили по электронной почте? Поместите адрес электронной почты на реальный счет. – Andy

+0

Я отправил почту на реальную учетную запись электронной почты. Но я не получил почту в своей учетной записи. –

ответ

3

Я не понимаю ошибку, выводимый

Вы не показали нам какую-либо ошибку. Как вы можете видеть, сервер сказал «Сообщение принято для доставки».

Отсутствует ->dataend может означать, что вы отправляете пустое письмо.

Что происходит под

сообщение электронной почты посылается. Кроме того, сообщения, которые помогут вам отлаживать проблемы, выводятся с тех пор, как вы запросили их, используя Debug => 1.

Смежные вопросы