• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: 小 中 大 | 推荐给好友 上一篇 | 下一篇

改造logwatch用MTA发信

发布: 2007-7-04 12:06 | 作者: admin | 来源:  网友评论 | 查看: 9次 | 进入软件测试论坛讨论

领测软件测试网 logwatch是个用perl写的不错的东西,但是他给管理员发现是直接往管道里面写内容,这就需要运行logwatch的机器本身要有MTA(sendmail,qmail...)
而我的机器不需要这些东西,改造一下让他用别的MTA给管理员发送邮件.

不懂perl,乱改一气:(,红色部分为添加的内容


#!/usr/bin/perl -w

$ENV = 'en_US'; # Hack to fix RH bug #81144

use strict;
use Net::SMTP;
##########################################################################
# $Id: logwatch.pl,v 1.109 2004/02/03 19:14:59 kirk Exp $
##########################################################################
# Most current version can always be found at:
# ftp://ftp.logwatch.org/pub/redhat/RPMS

..............

# Default config here...
$Config = 0;
$Config = "root";
$Config = "/tmp/logwatch";#改变默认配置,让结果保存到文件
$Config = 0;
$Config = "yesterday";
$Config = 0;
$Config = 0;
$Config = "/tmp";
$Config = 0;
$Config = 0;


....................

sub send_mail
{
my($to,$from,$subject,@body)=@_;
my $relay="smtp.yourserver.com";#你用来发信的smtp server
my $smtp=Net::SMTP->new($relay);
die "Could not open connection: $!" if (!defined $smtp);
$smtp->mail($from);
$smtp->to($to);
$smtp->data();
$smtp->datasend("To: $to\n");
$smtp->datasend("From: $from\n");
$smtp->datasend("Subject: $subject\n");
$smtp->datasend("\n");
foreach(@body) {
$smtp->datasend("$_\n");
}
$smtp->dataend();
$smtp->quit;
}


..........................


#############################################################################

# Get rid of temp directory...
if ($Config<100) {
`rm -rf $TempDir`;
}
#自己加的,读取文件的内容,然后发信给管理员
open(FILE,$Config);
my @tmp;
@tmp=;
&send_mail("jiecho\@eyou.com","[email protected]","logwatch for you host",@tmp);
close(FILE);
`rm -rf $Config`;
#这段内容要在exit(0)前执行,放在后面的话程序没有执行就退出了.

exit(0);

# vi: shiftwidth=3 tabstop=3 et


  • .....................
  • 文章来源于领测软件测试网 https://www.ltesting.net/


    关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
    版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
    北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
    技术支持和业务联系:[email protected] 电话:010-51297073

    软件测试 | 领测国际 | ISTQB | ISTQB官网 | TMMi | TMMi认证 | 国际软件测试工程师认证 | 领测软件测试网