close

如果是裝Active Perl,元件預設就有裝了。

#!perl -w

use strict;
use Net::SMTP;

my $mailhost = "SMTP的位址";
my $mailfrom = '寄信人地址';
my $mailto = '收信人地址';
my $subject = "標頭";
my $text = "一堆內文";

# -- DEBUG設成1,如此一來可以在cmd端看到訊息,成功之後可以關掉 --
#my $smtp = Net::SMTP->new($mailhost, Debug => 1);
my $smtp = Net::SMTP->new($mailhost);

# -- 將寄信人跟收信人資訊塞一塞
$smtp->mail($mailfrom);
$smtp->to($mailto);

# -- 開始寫內文 --
$smtp->data();

# -- 內文先填header --
$smtp->datasend("To: $mailto\n");
$smtp->datasend("From: $mailfrom\n");
$smtp->datasend("Subject: $subject\n");
# -- SMTP規定,標題跟內文要隔一行空白 --
$smtp->datasend("\n");

# -- 真正內文訊息 --
$smtp->datasend("$text\n\n");
# -- 內文結束 --
$smtp->dataend();
# -- SMTP連線結束 --
$smtp->quit;


一整個下午一直出現一個叫做Mail size is too small的錯誤,導致信寄不出去,
試了一下午之後,後來發現在$text那邊,把內文弄長一點就可以了...

沒確切試過要多長,但是不確定是公司smtp server設定的關係,還是本來就要這樣...
我一個下午的青春啊...囧

anyway,總算弄出來了...


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 chenys 的頭像
    chenys

    更遠

    chenys 發表在 痞客邦 留言(0) 人氣()