Exim 路由器用于捕获本地电子邮件

Exim 路由器用于捕获本地电子邮件

我正在尝试使用 Amazon 的 SES 设置 Exim。我定义了一个路由器,用于捕获全部电子邮件并通过 SES 发送。我不想过滤任何出站邮件。一切都通过 SES。我的路由器配置如下:

begin routers

aws_ses:
  debug_print = "R: aws_ses for $local_part@$domain"
  driver = accept
  require_files = AWS_SES_SEND_EMAIL : AWS_CREDENTIALS_FILE
  transport = aws_ses_pipe
  no_more

除了一个问题之外,它运行良好。每当我得到任何入站电子邮件,Exim 也会尝试通过 SES 发送它们。这就是问题所在。本地电子邮件应该被 Exim 捕获。我刚刚尝试添加这个我的 aws_ses 路由器,但它不起作用。Exim 仍然使用 aws_ses 路由器来接收发往 mydomain.com 的电子邮件

localusers:
  driver = accept
  domains = mylocaldomain.com
  transport = virtual_userdelivery

那么,我如何让 Exim 通过 aws_ses 路由器发送所有出站电子邮件,但同时告诉它捕获所有发往 mydomain.com 的入站邮件,以便将其传递到用户的邮箱?

谢谢。

ps 您可以在教程我已经整理好了。不过相关配置粘贴在这个问题里了。

答案1

路由器按顺序尝试。您应该能够找到名为“dnslookup”或“smarthost”或类似名称的路由器,然后将新路由器放在那里。除非您拥有丰富的 Exim 经验(RCPT ACL 也是如此),否则不建议完全替换路由器列表。

您应该有一个名为 的域列表local_domains,它是此主机本身要处理的域的列表。然后,您的aws_ses路由器将包含一行:

domains = !+local_domains

在该先决条件下,发送到local_domains域列表中的域的邮件将不会被路由器处理aws_ses

mydomain.com接下来:您在文本中讨论,但mylocaldomain.com在模糊的示例中使用。这样的错误肯定可以解释您所看到的内容。:)

然后:使用类似如下的方法:

$ exim -d -bt [email protected]

获得有关 Exim 在决定如何处理该地址时做出的决定的大量调试输出。

相关内容