如果是裝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,總算弄出來了...
- Nov 02 Tue 2010 19:01
[Perl] 使用外部 SMTP 寄信
close
全站熱搜
留言列表
發表留言