如何使用 Exim/Sendmail 停止发送通过某个 SMTP 服务器到达的电子邮件并记录它?

如何使用 Exim/Sendmail 停止发送通过某个 SMTP 服务器到达的电子邮件并记录它?

我在这个 cpanel 盒子上有多个帐户。如果有人向某个特定的 cpanel 帐户发送电子邮件,例如 smtp.some-cpanel-account.com,那么它必须被阻止并记录到文件中。

有办法吗?我需要以下 Exim 逻辑:

if ( Arriving SMTP = smtp.my-domain.com) {
    1. log the email to a file (/home/emailer/out/)
    2. do NOT send the email
}

我该怎么做呢?

答案1

如果您只是想拒绝此类消息,那么最简单的方法就是 ACL 过滤。

将下几行添加到配置的 RCPT ACL exim

deny condition = ${lookup{$local_part@$domain}nwildlsearch{/path/block.list}{yes}}
   log_message = Rejected from $sender_address to $local_part@$domain
       message = Get lost, you $really_bad_words!

/path/block.list 应该填充:

^.*smtp\.some\-cpanel\-account\.com
^.*smtp\.other\-cpanel\-account\.com
. . . . .

相关内容