除了电子邮件来自root@servername ,我需要一个只允许通过validation的smtp电子邮件的exim设置。 这就是我今天所拥有的:
acl_not_smtp (custom_begin_outgoing_notsmtp_checkall) deny authenticated = * condition = ${if !eq {root@$primary_hostname}{${address:$h_from:}}} message = REJECTED accept
此解决scheme阻止所有未经authentication的电子邮件。 任何人有更好的解决scheme?
我想你需要调用另一个acl:acl_smtp_rcpt。 找出这个acl映射到你的服务器的名字。 在Debian中,它是acl_check_rcpt。
为了testing一个发送者,发送者必须已经被给出,当远端发送“RCPT TO:”命令时这是真的。 没有尝试过,我会做acl_check_rcpt中的以下内容:
accept authenticated = * accept senders = root@servername deny message = Rejected
你不应该依赖一个容易伪造的发件人地址。 你可以用发送主机来testing
accept senders = root@servername hosts = 127.0.0.1 : localhost
此外,要确保消息的来源是您的服务器。
大多数本地消息不会被smtp接收。 在你的configuration中有acl:acl_not_smtp。 但是,再次search这个映射的名字。