1
我無法使用MIME :: Lite發送郵件。從我的桌面發送它將通過下面的錯誤。 錯誤:「SMTP無法連接到郵件服務器:錯誤的文件描述符」無法使用perl發送郵件Mime :: Lite
我正在使用下面提到的代碼。
use strict;
use MIME::Lite;
use Net::SMTP;
my $from_address = "[email protected]";
my $to_address = "[email protected]";
my $cc_address = "[email protected]";
my $subject = "Test mail";
my $message_body = "Madhan test mail";
my $namer="madhankumar";
my $regards="Madhan M";
print " Sending mail from $from_address to $to_address \n";
my $person_name=ucfirst($namer).",";
my $mail_host = 'mail1.somehost.com';
my $msg = MIME::Lite->new (
From => $from_address,
To => $to_address,
Cc => $cc_address,
Subject => $subject,
Type =>'multipart/mixed'
) or die "Error creating multipart container: $!\n";
$msg->attach (
Type => 'TEXT',
Data => "Dear $person_name\n\n".$message_body."\n\nRegards,\n$regards"
) or die "Error adding the text message part: $!\n";
MIME::Lite->send('smtp', $mail_host, Timeout=>60);
$msg->send;
上述代碼工作正常,而郵件服務器連接局域網。在遠程系統中使用代碼時,出現如下所述的錯誤
"SMTP Failed to connect to mail server: Bad file descriptor".
我可以知道原因..代碼是否在遠程系統中運行。如果沒有什麼是我所作出的代碼更改。請分享您的解決方案....
在此先感謝...
注:我在Windows XP開發這個
由於它只在你的局域網中工作,你確定'$ mail_host'可以從兩個地方訪問嗎?你能平嗎?你能連接到端口25嗎? – Matteo 2012-04-10 07:28:44
在LAN中,主機正在ping。我沒有檢查遠程系統。我如何設置端口?我需要設置傳入端口和傳出端口,而在遠程運行代碼?如果是,請指導我如何繼續執行相同的步驟 – Madhan 2012-04-10 07:42:17
SMTP使用端口25.這意味着您必須能夠訪問smtp服務器上的端口25。你應該檢查你的防火牆設置。 – Matteo 2012-04-10 08:18:18