2015-12-06 43 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來請求這些消息,所以正在輸出幫助您調試問題的消息。