我有一个可以正常工作的 postfix + clamav 安装。如何配置它,以便不仅隔离受感染的电子邮件,而且如果发生这种情况,还将电子邮件的副本发送到系统管理员地址?
我在 clamav-milter.conf 中发现:
VirusAction /usr/local/bin/virus.pl
RejectMsg "REJECT - AntiVirus detected: %v"
但是virus.pl只会生成病毒警告信息并返回给客户端,脚本并不会获取被感染信件的邮件正文。
我可以轻松地修改它,以便向系统管理员发出带有病毒名称的警报,但我想要的是将实际消息转发给我们。
谢谢
答案1
#clamav-milter.conf
OnInfected Quarantine
VirusAction /usr/local/bin/virus.pl
Quarantine
- 邮件被隔离而不是被投递。注意:Sendmail
可以通过检查隔离队列mailq -qQ
。Postfix
这会导致邮件被放置在hold
VirusAction /usr/local/bin/virus.pl
- 当发现受感染的消息时执行命令(可能搜索 PATH)。以下参数按此顺序传递给调用的程序:virus name, queue id, sender,destination, subject, message id, message date
。
您可以使用脚本中作为参数传递的队列 ID 来获取实际邮件内容,postcat -q <queue id>
并将其通过电子邮件发送给您的管理员。希望这对您有所帮助。