设置Exim以转发邮件


10

我正在尝试在全新的CentOS安装上设置Exim,以便它将接收给定地址集合的邮件,并将邮件分别转发到另一个地址。例如,从me@example.com接收邮件将转发到me@gmail.com。

我认为这应该是相当简单的...我之前曾在Sendmail上使用过virtusertable-使用Exim是否可以做类似的事情?

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

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

谢谢。

Answers:


7

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

基本上,您将需要进行以下设置(未经测试)


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

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


me@example.com: me@gmail.com

1
谢谢加文,这绝对使我朝着正确的方向前进。我正在使用以下行:driver = redirect domains = dsearch; / etc / exim / virtual data = $ {lookup {$ local_part} lsearch {/ etc / exim / virtual / $ domain}},其中“ virtual”是包含以下内容的目录文件“ example.com”,以及以下格式的行:“ me:me@gmail.com”。我还必须将“ local_domains”设置为包括“ example.com”(上面使用的带有dsearch的技巧也可以在此处使用)。
乔·弗里曼

5

不使用dsearch的情况下,乔·弗里曼(Joe Freeman)说的一种变体(这给了我未知的查找类型“ 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: me@gmail.com

3

Exim4还支持旧样式.forward文件以及.forward以开头的Exim样式文件# Exim filter。例如,要使用后者转发到我的备份帐户,同时将原始帐户保留在我的后台处理程序中以进行POP3访问:

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

unseen deliver jcomeau_ictx@example.com

这比在Exim配置IMO的根中胡闹一样简单得多,危险也小得多。完整的细节在这里

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.