系统要求是把收到的邮件一份一份的放到指定目录,然后由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使用的用户有写权限才行。
程序是通过.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/