Gee*_*man 8 email perl parsing postfix-mta message-queue
所以今天早上我接到一个电话,询问客户是否需要查看他们在我们的辅助邮件服务器上等待发送的电子邮件.他们的主服务器的链接已经(仍然)已经停止了两天,他们需要看到他们的电子邮件.
所以我编写了一个快速的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\"`;
}
Run Code Online (Sandbox Code Playgroud)
任何建议表示赞赏
归档时间: |
|
查看次数: |
5196 次 |
最近记录: |