我正在运行一个 VPS 来托管我客户的网站。他们的电子邮件需求非常有限(基本上他们只想要一个转发到他们的 gmail 帐户的 [email protected] 地址)。我试图设置 exim4(在 ubuntu 16.04 上)来做到这一点,但我只是得到550 Unrouteable address
.
Exim 目前可以正常发送邮件。但是我的 /etc/aliases 文件没有区别:
postmaster: root
www-data: root
root: [email protected]
[email protected]: [email protected]
[email protected]: [email protected]
[email protected]: [email protected]
我跑了dpkg-reconfigure exim4
,告诉它我想接受的域:
dc_eximconfig_configtype='internet'
dc_other_hostnames='#######.com; ######.com; ####.com;#####.co.uk;'
dc_local_interfaces=''
dc_readhost=''
dc_relay_domains=''
dc_minimaldns='false'
dc_relay_nets=''
dc_smarthost=''
CFILEMODE='644'
dc_use_split_config='false'
dc_hide_mailname=''
dc_mailname_in_oh='true'
dc_localdelivery='mail_spool'
我发现 exim 的配置令人困惑,并且文档似乎没有帮助。我想以“ubuntu 方式”配置 exim,以便将来的系统更新不会破坏我的设置。
感谢您提供的任何帮助。
根据您的描述,您似乎应该将您的服务器配置为客户域的主要 MX。有一些地址可能应该发送给您,例如
abuse
、和。这些应该由默认文件处理。postmaster
webmaster
hostmaster
/etc/aliases
默认配置仅使用本地部分来查找别名。您将需要专门处理您的客户消息。当您转发到 Gmail 时,您可能希望重新发送邮件而不是转发它。这应该处理 SPF 和 DMARC 问题。
您是辅助 MX,您需要设置的变量是
dc_relay_domains
. 这应该是您将接受电子邮件作为辅助 MX 的域列表,由 (':') 分隔。空格是可选的,但使列表更易于阅读。该文件的文档可通过命令获得
man update-exim4.conf
。您可能还想熟悉Exim Mail Transfer Agent文档的规范。该命令
sudo dpkg-reconfigure exim4-config
将提供/etc/exim4/update-exim4.conf.conf
. 但是,您可以根据需要手动编辑文件。您可能希望将您作为辅助 MX 的域添加到 /etc/exim4/local_rcpt_callout。请阅读文档以验证这是否合适。在您接受邮件后退回您的次要域的邮件可能会产生反向散射垃圾邮件。这可能会将您的服务器列入黑名单。
默认配置不支持别名文件中的域名。我使用以下内容来提供基于域的别名,尽管您可能不应该为您作为辅助 MX 的域提供别名。
这是@BillThor 答案的摘要,并添加了一些细节:
步骤1
编辑
/etc/exim4/update-exim4.conf
并设置dc_other_hostnames
为包括您将为其转发邮件的所有域。(如果您忘记这样做,邮件将被退回)。第2步
创建一个目录
/etc/exim4/virtual
并为每个域添加一个文件,并准确命名为域名。使用您希望转发的别名填写文件。例如第 3 步
创建一个新文件
/etc/exim4/conf.d/router/350_local-config_vdomain_aliases
,内容如下:第4步
跑:
感谢您的所有帮助@BillThor
其他答案没有错,但我想参考官方exim规范(=documentation):
https://www.exim.org/exim-html-current/doc/html/spec_html/ch-some_common_configuration_settings.html#SECTvirtualdomains
这很有可能是未来几年的最新和维护文档。
来源:https ://manpages.debian.org/jessie/exim4-config/update-exim4.conf.8.en.html