ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 用perl来接收sendmail的邮件并转存

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

原创 Linux操作系统 作者:charles_zx 时间:2011-06-02 14:28:23 0 删除 编辑
    系统要求是把收到的邮件一份一份的放到指定目录,然后由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/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 第141回 过期
请登录后发表评论 登录
全部评论

注册时间:2010-05-27

  • 博文量
    177
  • 访问量
    123557