配置 Exim 转发电子邮件

配置 Exim 转发电子邮件

我有一个 Ubuntu 10.04 VPS 来管理 sub.example.com,并且我已将 Exim 配置为使用以下方式发送电子邮件本教程来自 Linode 库。这可以正常工作,但除了发送电子邮件之外,我意识到我需要一个非 root 电子邮件地址([电子邮件保护]) 转发给我 ([电子邮件保护])。

我读过关于这个的 Exim 文档 [1],但我真的不明白我应该做什么(它似乎希望读者已经知道要更改哪些文件以及某些指令的作用)。还有一个类似问题从'09 开始我就不知道哪个(如果有的话)解决方案适用于我的情况,或者哪些文件需要用建议的行进行修改。

老实说,如果有一种非常简单的方法可以做到这一点,而无需 Exim,并且不会与我已经设置的通过 Exim 发送电子邮件的方式发生冲突,我会同样高兴。我已经尝试过修改,/etc/aliases但没有成功。

您可能已经发现我对配置 MTA 还很陌生...提前致谢。

[1] 显然我无法链接到此,因为这是我在 ServerFault 上的第一篇文章。我认为相关部分是第 22 章 - 重定向路由器。

答案1

在以下解释中,我假设您遵循了您提到的 URL 中的说明并选择了“互联网服务器”。我还假设“localhost”是您的 exim 配置为识别为本地域的有效域名之一。

首先,您在 /etc/aliases 中输入的内容的格式应为:

admin: [email protected]

您不需要在 exim 系统上运行 newaliases,它只是为需要更“类似 sendmail”环境的应用程序提供兼容层。Exim 第一次读取 /etc/aliases 文件时会直接扫描其内容并缓存结果,如果有任何结果,则记住它以供后续查找。它实际上并不像 sendmail 那样使用 /etc/aliases.db 文件。

编辑 /etc/aliases 时,您可以测试如何从命令行处理地址。在第一个示例中,我的系统未配置为处理 admin 别名。它抱怨它不知道如何处理此地址,并将其描述为无法送达:

[todd@tlyons /etc/exim4]$ grep admin /etc/aliases
[todd@tlyons /etc/exim4]$ exim -bt admin@localhost
R: system_aliases for admin@localhost
admin@localhost is undeliverable

在第二个示例中,我的系统已正确配置以处理管理员别名。示例后面有说明:

[todd@tlyons /etc/exim4]$ grep admin /etc/aliases
admin: [email protected]
[todd@tlyons /etc/exim4]$ exim -bt admin@localhost
R: system_aliases for admin@localhost
R: dnslookup for [email protected]
[email protected]
    <-- admin@localhost
  router = dnslookup, transport = remote_smtp
  host gmail-smtp-in-v4v6.l.google.com [2001:4860:b007::1a] MX=5
  host gmail-smtp-in.l.google.com      [173.194.79.27]      MX=5
  host gmail-smtp-in-v4v6.l.google.com [209.85.225.27]      MX=5
  host alt2.gmail-smtp-in.l.google.com [74.125.45.27]       MX=20
  host alt3.gmail-smtp-in.l.google.com [173.194.66.27]      MX=30
  host alt4.gmail-smtp-in.l.google.com [173.194.65.27]      MX=40

第一行 R: 是调试输出行,表示它正在使用“system_aliases”路由器处理电子邮件地址。它没有直接说出来,但它确实在 system_aliases 路由器中找到了“admin”,并将其“扩展”为“[电子邮件保护]“。一旦 exim 将地址扩展为其他地址(或多个地址),它就会通过路由器重新运行每个地址,寻找匹配项。在上面的例子中,它运行了[电子邮件保护]地址通过路由器,并且“dnslookup”路由器匹配。这意味着它确定需要使用 SMTP 将其发送到远程邮件服务器。其中一部分是查找 gmail.com 的 MX 记录,它执行了此操作并显示出来供您查看它将如何尝试传递该邮件。

因此,要回答你最初的问题,很可能你只是在 /etc/aliases 中输入了错误的数据。左侧只是本地部分(即[电子邮件保护]),然后是冒号 (:),然后是空格或制表符,然后是要发送邮件的电子邮件地址(或以逗号连接的电子邮件地址)。您不能将完整的电子邮件地址放在左侧(冒号前)。

相关内容