linux运用外部163邮件服务器发送邮件

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='[email protected]';
my    $msg = MIME::Lite->new(
From     => '[email protected]',

To       => '[email protected]',

Cc       => '[email protected]',
Subject  => $ARGV[0],  ##相当于$1(这里可以写文本,文本必须用''括起内容,此处我调用的参数)
Type  => 'multipart/mixed',
Data => 'other'
);
$msg->attach(
        Type     => 'TEXT',
        Data     => $ARGV[1] ##$2(同$1调用)
    );
#    $msg->attach(                      ###可以发送附件
#        Type     => 'image/gif',
#        Type     => 'TEXT',
#        Path     => '/root/logo',
#        Filename => 'logo.png',
#        Disposition => 'attachment'
#    );

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

你可能感兴趣的:(linux,邮件服务器)