我需要使用exim4暂时冻结特定发件人发出的电子邮件。 发件人使用远程SMTP(即通过TCP / IP)login。
我想要做的就是冻结(但不否认)他所有的电子邮件,这样我可以检查队列,允许或不允许进一步处理。
任何帮助,将不胜感激。
您需要对exim.conf文件进行以下更改:
在主configuration部分中,确保您已启用acl_smtp_mail控件,如下所示:
acl_smtp_mail = acl_check_mail
确保将acl_check_mail更改为处理acl_smtp_mail访问控制列表的实际名称
然后,在acl_check_rcpt ACLconfiguration部分中,创build一个新规则:
accept condition = ${lookup{$sender_address}lsearch{/etc/exim/freezelist_sender_addresses}{1}{0}} control = freeze/no_tell
保存configuration文件。 现在创build/etc/exim/freezelist_sender_addresses文件,并将需要冻结的所有发件人地址放入此文件,每行一个地址。 确保你在这个文件上设置了正确的权限,以便Exim可以读取它。
从/etc/exim/freezelist_sender_addresses的地址发送的所有电子邮件现在/etc/exim/freezelist_sender_addresses将被接收到队列中(只要它们通过了其他ACL),然后由Exim自动冻结。
要解冻这些消息,请运行此命令,将[email protected]为邮件冻结发件人的地址:
exiqgrep -i -f [email protected] | xargs exim -Mt