幫朋友寫的。
本程序從一個文本文件中讀取郵件地址和一些需要的記錄。
activeperl 5.8 + winxp下通過。
#!/usr/bin/perl
use Net::Smtp;
#郵件發(fā)送服務(wù)器地址
$smtp_server = 'smtp.126.com';
#發(fā)件人地址
$from = '[email protected]';
#郵件標(biāo)題
$title = '測試郵件一個,接好,別砸到!';
#發(fā)一封歇息多久
$delay = 1;
#包含收件人列表及可變信息的文本文件
#格式為:用戶名,密碼,詳細(xì)信息
#請把它放在當(dāng)前目錄下,并把它命名為list.txt
$f_list='list.txt';
open(FILE,$f_list) || die "Can not open list file/n";
while(<FILE>){
chomp;
($usr,$passwd,$detail) = split(/,/);
#如果您的列表里直接存儲的是email地址,請用如下一句替換上面一句
$to = $usr;
#根據(jù)列表文件構(gòu)建郵件內(nèi)容。
#因為這里的heredoc要求頂格所以不能正常縮進(jìn)
$msg=<<HTML;
$detail,您好。
我們的郵件服務(wù)器地址已經(jīng)變?yōu)閤xxxxxxx.
您的用戶名為$usr密碼為$passwd
請盡快登陸修改。
由于本次更改給您工作帶來的不便在此表示歉意。
謝謝您的支持。
HTML
print "I am sending Email No.".($cnt+=1)." to ".$to."....../n";
&gingerMail($smtp_server,$from,$to,$title,$msg);
print "Email No.".$cnt." has been sent to: ".$to."/n";
sleep($delay);
}
close(FILE);
print "/n......All Finished!!!";
###########################
#
#例程gingerMail
#參數(shù)列表
#$smtp_server發(fā)郵件smtp服務(wù)器地址
#$from發(fā)件人地址
#$to收件人地址
#$title郵件標(biāo)題
#$msg郵件內(nèi)容
#
###########################
sub gingerMail{
my($smtp_server,$from,$to,$title,$msg) = @_;
$smtp = Net::SMTP->new($smtp_server);
#如果您的服務(wù)器需要認(rèn)證,請在下面輸入用戶名和密碼。
#需要Auth-SASL模塊的支持
#windows下可以用ppm安裝,unix下請用CPAN安裝。
$smtp->auth('sleetdrop','xxxxxxxxx');
$smtp->mail($from);
$smtp->to($to);
$smtp->data();
$smtp->datasend('From: '.$from);
$smtp->datasend("/n");
$smtp->datasend('To: '.$to);
$smtp->datasend("/n");
$smtp->datasend('Subject: '.$title);
$smtp->datasend("/n/n");
$smtp->datasend("$msg/n");
$smtp->dataend();
$smtp->quit;
}
list.txt范例文件
[email protected],1111,臭老九
[email protected],2222,姜源
[email protected],3333,醬小魚
[email protected],4444,小姜
運行結(jié)果
用outlook成功收到
新聞熱點
疑難解答
圖片精選