OS:CentOS 6.2_64
yum install perl
cpan MIME::Lite
perl -MCPAN -e 'install Authen::SASL'
以上信息是需要安装的包,如果没有,执行会报错
mail
#!/usr/bin/perl -w
use MIME::Lite;
use MIME::Base64;
use Authen::SASL;
my $host='smtp.163.com';
my $pass='yourpasswd';
my $user='yourname@163.com';
my $msg = MIME::Lite->new(
From => 'yourname@163.com',
To => 'post@qq.com',
Cc => 'copy@163.com',
Subject => $ARGV[0], ##相当于$1(这里可以写文本,文本必须用''括起内容,此处我调用的参数)
Type => 'multipart/mixed',
Data => 'other'
);
$msg->attach(
Type => 'TEXT',
Data => $ARGV[1] ##$2(同$1调用)
);
# $msg->attach( ###可以发送附件
# Type => 'p_w_picpath/gif',
# Type => 'TEXT',
# Path => '/root/logo',
# Filename => 'logo.png',
# Disposition => 'p_w_upload'
# );
MIME::Lite->send('smtp', $host, Timeout=>60, AuthUser=>$user, AuthPass=>$pass);
$msg->send;
以上脚本完成!
可以与shell脚本结合使用:
#/bin/bash
Time_now=$(date +%F_%T)
nodename=$(hostname) #这里是输出主机名
/usr/bin/perl mail $nodename "$Time_now error!!"
在cpan上面有关于它的详细的用法(http://search.cpan.org/~rjbs/MIME-Lite-3.028/lib/MIME/Lite.pm)
完成,有什么不明白的可以联系本人,互相学习QQ:625969486