设置 Exim 转发邮件

设置 Exim 转发邮件

我正在尝试在全新安装的 CentOS 上设置 Exim,以便它接收给定地址集合的邮件,并将邮件分别转发到另一个地址。例如,接收来自[电子邮件保护]将被转发至[电子邮件保护]

我认为这应该相当简单...我以前用 Sendmail 做过这个,用virtusertableExim 能做类似的事情吗?

我还希望能够发送邮件,但仅限于从本地机器发送的邮件(即从服务器上运行的应用程序发送的邮件) - 我不需要/不想要公开可用的 SMTP 服务器。

我还应该记住其他设置以确保邮件服务器是安全的吗?(即防止中继)我假设它开箱即用,非常安全。

谢谢。

答案1

您将需要使用重定向路由器。请阅读 Exim 路由器规范,因为它可以做很多事情,因此可能非常复杂。

基本上,你需要设置类似这样的内容(未经测试)


sender_redirect:
  driver = redirect
  data = ${lookup{$sender_address}lsearch{/etc/exim4/sender_redirects}}

然后创建一个文件,/etc/exim4/sender_redirects其中包含以行分隔的冒号分隔格式的重定向,如下所示:


[email protected]: [email protected]

答案2

Joe Freeman 所说的内容的一个变体,没有使用 dsearch(这给了我未知的查找类型“dsearch”错误):

在 exim.conf 的开头:

#Replace:
domainlist local_domains = lsearch;/etc/virtual/domains
#With:
domainlist local_domains = lsearch;/etc/virtual/domains : lsearch;/etc/virtual/forwarding_domains

在“开始路由器”部分添加:

sender_redirect:
    driver = redirect
    domains = lsearch;/etc/virtual/forwarding_domains
    data = ${lookup{$local_part}lsearch{/etc/virtual/forwarding/$domain}}

在 lsearch;/etc/virtual/forwarding_domains 中每行添加一个域:

example.com

并创建包含以下内容的 /etc/virtual/forwarding/example.com:

me: [email protected]

答案3

Exim4 还支持旧式文件以及以 . 开头的.forwardExim 式文件。例如,使用后者转发到我的备份帐户,同时将原始文件保留在我的缓冲池中以供 POP3 访问:.forward# Exim filter

# Exim filter  <== do not edit or remove this line!

unseen deliver [email protected]

在我看来,这比在 Exim 配置中以 root 身份进行操作要简单得多,而且危险性也小得多。详细信息请参见这里

相关内容