强制authentication的smtp电子邮件与白名单

除了电子邮件来自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这个映射的名字。