perl – 有没有比postcat更好的工具来查看postfix邮件队列文件?

所以今天早上我接到一个电话,询问客户是否需要查看他们在我们的辅助邮件服务器上等待发送的电子邮件.他们的主服务器的链接已经(仍然)已经停止了两天,他们需要看到他们的电子邮件.

所以我编写了一个快速的Perl脚本,将mailq与postcat结合使用,将每个电子邮件的地址转储到单独的文件中,然后将其发送出去并将其发送出去.可怕的代码,我知道,但这很紧急.

我的解决方案工作正常,因为它至少提供了一个原始视图,但我想今晚如果我有一个解决方案可以提供他们的电子邮件附件并且可能删除一些“垃圾标题文本也会很好.大多数重要的电子邮件似乎都附有PDF或类似内容.

我一直在环顾四周,但查看队列文件的唯一方法是我可以看到postcat命令,我真的不想编写自己的解析器 – 所以我想知道你们中是否有人已经这样做过,或者知道更好的命令使用?

这是我当前解决方案的代码

#!/usr/bin/perl

$qCmd="mailq | grep -B 2 \"someemailaddress@isp\" | cut -d \" \" -f 1";

@data = split(/\n/,`$qCmd`);
$i = 0;

foreach $line (@data)
{
    $i++;

    $remainder = $i % 2;
    if ($remainder == 0)
    {
            next;
    }

    if ($line =~ /\(/ || $line =~ /\n/ || $line eq "")
    {
        next;
    }
    print "Processing: " . $line . "\n";
    `postcat -q $line > $line.email.txt`;
    $subject=`cat $line.email.txt | grep "Subject:"`;
    #print "SUB" . $subject;
    #`cat $line.email.txt > \"$subject.$line.email.txt\"`;
}

任何建议表示赞赏

解决方法

您可以在这里找到 Postfix::Parse::Mailq模块以及 pfcat脚本.

相关文章

1. 如何去重 #!/usr/bin/perl use strict; my %hash; while(...
最近写了一个perl脚本,实现的功能是将表格中其中两列的数据...
表的数据字典格式如下:如果手动写MySQL建表语句,确认麻烦,...
巡检类工作经常会出具日报,最近在原有日报的基础上又新增了...
在实际生产环境中,常常需要从后台日志中截取报文,报文的形...
最近写的一个perl程序,通过关键词匹配统计其出现的频率,让...