我需要使用 exim4 暂时冻结特定发件人的外发电子邮件。发件人使用远程 SMTP(即通过 TCP/IP)登录。
我想要做的是冻结(但不拒绝)他的所有电子邮件,以便我可以检查队列并允许或禁止进一步处理。
任何帮助,将不胜感激。
答案1
您需要对文件进行以下更改exim.conf
:
在主配置部分,确保您已启用acl_smtp_mail
如下控制:
acl_smtp_mail = acl_check_mail
确保更改acl_check_mail
为处理访问控制列表的实际名称acl_smtp_mail
然后,在acl_check_rcpt
ACL配置部分,创建一个新规则:
accept condition = ${lookup{$sender_address}lsearch{/etc/exim/freezelist_sender_addresses}{1}{0}}
control = freeze/no_tell
保存配置文件。现在创建文件/etc/exim/freezelist_sender_addresses
并将所有需要冻结的发件人地址放入此文件中,每行一个地址。确保为此文件设置正确的权限,以便 Exim 可以读取它。
从该地址发送的所有电子邮件/etc/exim/freezelist_sender_addresses
现在都将被接受进入队列(前提是它们通过其他 ACL),然后被 Exim 自动冻结。
要取消冻结这些消息,请运行此命令,替换[电子邮件保护]邮件被冻结的发件人地址:
exiqgrep -i -f [email protected] | xargs exim -Mt
答案2
此命令是否也可以用于通过电子邮件 ID 解冻,或者是不同的命令?
我的意思是,如果我想通过电子邮件 ID 解冻,可以使用这个吗?
exiqgrep -i -f 1pUg6E-0003Dt-83 | xargs exim -Mt