我有一个在 Debian 上的 Exim 上运行的完全正常工作的邮件服务器。最近有人问我是否可以每月获取所有发送和接收的电子邮件的标题日志。我所说的标题是指to
、from
、cc
、标题上的电子邮件地址bcc
。
这个想法是生成一个日志,其中包含这些标头上的所有电子邮件,而不区分发送/接收的 wtv,如下所示:
[email protected]
[email protected]
[email protected]
所以一封电子邮件对等线。所以我决定尝试一下grep
并提出这个:
grep -E -o "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b" exim_mainlog.txt > emails.txt
它确实输出了该文件上的所有电子邮件,但是我收到了一堆垃圾,例如电子邮件 ID:[email protected]
以及垃圾邮件发送者尝试将电子邮件发送到服务器上不存在的帐户。
获得干净列表的最佳方法是什么(以及我该如何做),基本上,电子邮件要有效,需要检查以下规则:
- 合法的邮件地址;
- 是正确发送到服务器上某个帐户的电子邮件的来源;
- 目的地(包括
cc
或bcc
)是否为其他地方且已正确投递; - 不弹跳
这可以通过分析服务器日志来完成吗?或者也许是电子邮件服务器上的过滤器?不管怎样,怎么样?
谢谢你!