我尝试拒绝将具有特定目标域的外发电子邮件发送到智能主机,但没有成功。
我正在使用配置为使用智能主机的 Debian“squeeze”。
vi /etc/exim4/conf.d/acl/30_exim4-config_check_rcpt
在“acl_check_rcpt:”后添加
deny
message = Domain $domain is prohibited for outgoing mails
domains = lsearch;/etc/exim4/restricted_domains
重新加载 exim,但发往受限域的邮件仍继续发出
读完这篇文章后,我也尝试添加 acl_not_smtp邮政但也没有成功。
vi /etc/exim4/conf.d/main/02_exim4-config_options
添加“acl_not_smtp = acl_check_not_smtp”
vi /etc/exim4/conf.d/acl/30_exim4-config_check_rcpt
并在文件顶部添加
acl_check_not_smtp:
deny
message = Domain $domain is prohibited for outgoing mails
domains = lsearch;/etc/exim4/restricted_domains
有人能指出我做错了什么吗?
谢谢,
此致,
答案1
您已告诉我们您想要做什么,但您并未提供导致问题的示例电子邮件,因此这是我用来测试配置是否按预期工作的一般指南。
在测试模式下运行 exim,可能开启调试功能,然后查看为什么该特定电子邮件未被阻止。首先,安装 swaks(SMTP 的瑞士军刀,这只是一个简单的 perl 脚本,大多数发行版都有它)。在测试模式下运行 exim,指定向您发送电子邮件的 IP,其中包含您要阻止的域(此示例中为 baddomain.com),但使用 swaks:
swaks --pipe 'exim -bh IP.ADD.RE.SS' --to [email protected] \
--from [email protected]
这实际上不会发送电子邮件,但它会像发送电子邮件一样运行。如果您只想查看 rcpt 处理过程中发生的情况,请将命令行更改为:
swaks --pipe 'exim -bh IP.ADD.RE.SS' --to [email protected] \
--from [email protected] --quit-after RCPT
添加-d如果您想查看大量的调试输出,请转到 exim 命令行。
请注意,您的解决方案只会检查信封发件人,而不是电子邮件发件人:标题中的内容。您拥有某个有效的邮件帐户,但该帐户可能被滥用来发送电子邮件,声称该邮件来自您试图阻止的某个邮箱。