用perl发一大堆邮件的一种方法

帮朋友写的。
本程序从一个文本文件中读取邮件地址和一些需要的记录。
activeperl 5.8 + winxp下通过。
#!/usr/bin/perl
use Net::Smtp;

#邮件发送服务器地址
$smtp_server = 'smtp.126.com';

#发件人地址
$from = 'sleetdrop@126.com';

#邮件标题
$title = '测试邮件一个,接好,别砸到!';

#发一封歇息多久
$delay = 1;

#包含收件人列表及可变信息的文本文件
#格式为:用户名,密码,详细信息
#请把它放在当前目录下,并把它命名为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;

#根据列表文件构建邮件内容。
#因为这里的heredoc要求顶格所以不能正常缩进
$msg=<<HTML;
$detail,您好。

我们的邮件服务器地址已经变为xxxxxxxx.
您的用户名为$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
#参数列表
#$smtp_server发邮件smtp服务器地址
#$from发件人地址
#$to收件人地址
#$title邮件标题
#$msg邮件内容
#
###########################
sub gingerMail{
my($smtp_server,$from,$to,$title,$msg) = @_;
$smtp = Net::SMTP->new($smtp_server);
#如果您的服务器需要认证,请在下面输入用户名和密码。
#需要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范例文件
ginger@syau.edu.cn,1111,臭老九
sleetdrop@hotmail.com,2222,姜源
sleetdrop@126.com,3333,酱小鱼
sleetdrop@sohu.com,4444,小姜

运行结果



用outlook成功收到



(0)

相关推荐

  • QQ邮箱发不了邮件怎么办?

    QQ邮箱发不了邮件怎么办?最近,一位网友在网上求助说:他的QQ邮箱发不了邮件了.如果您也遇到同样的问题,建议一起来看看今天的教程.今天,小编将根据我们日常会导致邮箱发不了的邮件的情况给大家分享了7个原 ...

  • 电脑端outlook怎么拒收别人发的垃圾邮件

    我们在平常经常会收到垃圾邮件,很烦人,但是我们可以拒收.今天小编就告诉大家电脑端outlook怎么不收到别人发的垃圾邮件.具体如下:1. 首先我们打开电脑中的outlook,进入主界面,2. 在主界面 ...

  • QQ邮箱发不了邮件

    今天小编要和大家分享的是如何解决QQ邮箱发不了邮件的问题,希望能够帮助到大家. 操作方法 01 首先在我们的电脑桌面上找到电脑管家并点击它,如下图所示. 02 然后点击屏幕右下方的工具箱,如下图所示. ...

  • 微信怎么发说说?用微信发说说以及纯文字说说的方法

    微信怎么发说说?微信怎么发状态?如今微信正当流行,不能与好友随时分享心情状态怎么可以。可是绿茶小编看到许多朋友在问微信怎么发说说,所以,绿茶小编今天就教大家用微信发说说以及纯文字说说的方法。 微信发说 ...

  • 12306发短信999不回复解决方法

    大家关心得最多的就是收费问题,这里小编亲测以及咨询后的结果是收取正常的短信费用! 12306发短信999不回复解决方法 有可能大家在发送"999"验证短信后,提示"尚未送 ...

  • win10系统outlook收到繁体字邮件字体重叠解决方法

    有windows10用户发现outlook收到繁体字邮件时,会出现字体重叠的情况,该问题是win10系统精简了部份字体导致的.下面小编就为大家分享win10 outlook收到繁体字邮件出现字体重叠的 ...

  • Excel和Word联用中的邮件合并功能使用方法

    日常办公中,有时我们需要使word模板中的固定位置引用Excel中的不同行的数据,并且分别打印进行发放,这时excel中的邮件合并功能就派上用场了.下面以制作报告单为例详细介绍制作过程. 步骤 打开E ...

  • 微信发红包的两种方法

    微信发红包怎么玩?给大家分享一下怎么用微信给亲朋好友们发红包,提供2种方法给大家参考! 两种方法都可以发微信拼手气红包和微信普通红包. 操作方法 01 登录微信,绑定网银(我-钱包-银行卡).如图: ...

  • 拼多多上面种水果真的会免费发来吗?要怎么种呢

    拼多多上面种水果真的会免费发来吗?要怎么种呢 操作方法 01 真的会免费发来的哦,我种了一次,确实收到了,芒果,青的,放几天就可以吃,味道还不错哦 02 首先打开拼多多app,点击"个人中心 ...