用perl来接收sendmail的邮件并转存

    系统要求是把收到的邮件一份一份的放到指定目录,然后由java来读取、解析后删除。原有的程序使用C写的,源代码不明。因为要加新功能,只好重写。为什么用perl呢,是因为正好有别的程序使用perl写的,可以参考。我是perl新手,之前根本没写过,只好请教google老师了。
    程序是通过.forward文件来执行的。很简单,就是下面这一行内容:

  "| /etc/smrsh/xxx.pl"
 
    .forward文件在/root下面,smrsh的设置请参考其他相关文档。

    perl的程序如下,生成一个以时间戳为文件名的邮件文件就万事大吉了。


#!/usr/bin/perl

local $timestamp = qx(date +%Y%m%d%H%M%S%N);
local $mailfile = "/aaa/bbb/$timestamp";

open(MAILFILE,">$mailfile");

local @mail=;

foreach $content(@mail)
{
  syswrite(MAILFILE, "$content");
}

close(MAILFILE);

exit 0;

简单吧。网上都是发邮件的例子,没找到生成文件的例子,没想到还挺简单。

另外,目录一定要可以让sendmail使用的用户有写权限才行。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/378235/viewspace-696972/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/378235/viewspace-696972/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值