文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>用perl结合Linux下的sendmail发邮件

用perl结合Linux下的sendmail发邮件

时间:2010-08-09  来源:zhuyubei

邮件的使用在系统状态的监控、错误信息的及时捕获有很大的帮助。今天我又学习了如何利用Linux已经启动了的sendmail服务来进行邮件的发送。这里我们简单介绍2种实现.

1 单纯的sendmail

#!/usr/bin/perl -w
#打开sendmail邮件的程序
open my $mail,"| /usr/sbin/sendmail -t" or die "Error in open sendmail:$!";
select($mail);

#这里我们用heredoc来写格式化邮件
#To 意味着收件人,必须要有
#接着是主题,空一行后才是邮件的主题部分
print << 'EOF';
To: [email protected]
Subject: Thanks For you test

Body


EOF


close($mail);


2 结合Email::Simple::Creattoe和Email::Send

use Email::Simple::Creator;
use Email::Simple;
use Email::Send;

#产生邮件内容,header部分和body部分
my $message = Email::Simple->create(
    header => [
    To => '[email protected]',
    Subject => 'Test Message of Google!',
    ],
    body => "sendmail!\n",
);
#指定邮件以sendmail方式发送
my $sender = Email::Send->new({mailer => 'Sendmail'});
#确定sendmail程序的路径
$Email::Send::Sendmail::SENDMAIL = '/usr/sbin/sendmail';

#进行发送

$sender->send($message) or die "Error in sending message:$!\n";


测试下来的确都是可行的。但是我发现现在很多邮箱的垃圾邮件处理功能都很好。由于我们发送的内容没有什么意义,所以被作为垃圾邮件处理掉了,有时甚至直接就拒收邮件,或者服务器直接拒绝这个IP发的邮件。当然在公司内部做错误处理监控的话应该没问题。上面2个情况我都没有加发件人,因为暂时不重要。不过我做了个实验,我发现如果乱指定发件人的话,在收件方的确是显示的是先前所指定的发件人。这有一定的迷惑性。

相关阅读 更多 +
排行榜 更多 +
瓢虫少女

瓢虫少女

飞行射击 下载
潜艇鱼雷

潜艇鱼雷

飞行射击 下载
网络掠夺者

网络掠夺者

飞行射击 下载