您的位置:首页 > 编程语言 > PHP开发

perl利用SMTP发送邮件脚本(带认证)

2010-07-09 14:39 531 查看
#!/usr/bin/perl -w
use strict;
use Net::SMTP;
use Authen::SASL;(在SMTP服务器上要求用户认证,必须的模块)
BEGIN {
push (@INC,'/usr/lib/perl5/5.8.8/Net/ ');

}

my $from = 'huashan125@huashan.peonymao.com';
my $to = 'peonymao@orrisintl.com';
my $username = 'huashan125';
my $passwd = 'huashan125';
my $subject = 'Test Email';
my $smtp = Net::SMTP->new('192.168.21.82');

$smtp->auth($username,$passwd) or die "Could not authenticate $!";(这三句的顺序)
$smtp->mail($from);
$smtp->to($to);

$smtp->data();
$smtp->datasend("From:$from/n");
$smtp->datasend("To: $to/n");
#$smtp->datasend("Cc: $Cc/n");
$smtp->datasend("Subject: $subject/n");
$smtp->datasend("This is a test perl email/nIt is successfull");
$smtp->dataend();

$smtp->quit;

---------------------------------------------------以下是自己写的例子--------------------------------------

#!/usr/bin/perl -w
use Net::SMTP;
$smtp = Net::SMTP->new('10.1.28.22');    #邮件服务器地址
$smtp->mail('zhang@163.com');                 #发件人
$smtp->to('zhang@sina.com');                   #收件人
$smtp->to('zhang@163.com');
$smtp->data();
$smtp->datasend("From:/"zhang/" <zhang/@163.com>/n");
$smtp->datasend("To: /"zhang/" <zhang/@sina.com>,/n /"zhang/" <zhang/@163.com>,/n" );

$smtp->datasend("Subject: monitor_prov/n/n");   #主题

my $my_url = 'http://127.0.0.1:8081/div.html' . "/n";
#my $my_url = '<a href="http://127.0.0.1:8081/div.html">monitor_info</a><br>' . "/n";
$smtp->datasend($my_url);
$smtp->datasend("test mail/n");
$smtp->dataend();
$smtp->quit;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息