Exim4 – 暂时冻结特定用户发送的电子邮件

我需要使用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