我有一堆由于错误而被spamassasin倾倒的消息。 (mbox格式,即所有信封标题都以“From xxx …”开头)
我怎样才能得到他们(本地假脱机文件)?
谢谢
(Debian Linux上的exim 4.69)
SpamAssassin的configuration是错误的,还是消息有缺陷?
您可以将文件分割成单独的消息,并通过将其传送到sendmail -t (Exim设置为主MTA的Exim系统上的别名)来重新提交。 但是,如果消息有问题,那么这不一定会让你得到任何地方。 另外,如果邮件最初被发送到邮件列表或类似的东西,这将重新发送到“networking,这是不可取的。
另一个select是使用Python的mailbox模块读取mbox文件,然后手动将消息放入适当的假脱机程序中; 它支持最常见的格式。 给定足够的细节,我可以在这里编辑一些体面的示例代码。
(Python也可以将消息分割出来,但是我相信search会为这类任务提供几十个合理健壮的脚本。)
我结束了这样做:
for f in *; do if exim4 -bm -t -i -oep <$f; then mv $f ../sent/; else mv $f ../errors/; fi; sleep 2; done
它似乎工作到目前为止……大约有一个月的消息或更多的消息通过:)。 (-bm表示本地交付,-t表示从邮件头获取收件人,-i表示不在“。”处停止,-oep表示将错误打印到stderr并用错误代码退出)