31.6.高级主题¶
本节涵盖了更多的内容,如邮件配置和为整个域设置邮件。
31.6.1.基本配置¶
只要 /etc/resolv.conf 配置好了即可开箱即用,或者网络可以访问配置好的 DNS 服务器,就可以向外部主机发送邮件。要让邮件被送到 FreeBSD 主机上的 MTA,请执行以下操作之一:
运行一个域名的 DNS 服务器。
让邮件直接投递到机器的 FQDN 上。
为了让邮件直接送到主机上,它必须有一个永久的静态 IP 地址,而非动态 IP 地址。如果系统在防火墙后面,它必须被配置为允许 SMTP 流量。要在主机上直接接收邮件,必须配置以下两个中的一个:
确保 DNS 中编号最低的 MX 记录指向该主机的静态 IP 地址。
确保在 DNS 中没有该主机的 MX 条目。
上述任何一项都将允许在主机上直接接收邮件。
试试这个:
v# hostname
example.FreeBSD.org
# host example.FreeBSD.org
example.FreeBSD.org has address 204.216.27.XX
在这个例子中,假设 Sendmail 在 example.FreeBSD.org
上正常运行,直接发送到 yourlogin@example.FreeBSD.org 的邮件应该没有问题。
对于这个例子:
# host example.FreeBSD.org
example.FreeBSD.org has address 204.216.27.XX
example.FreeBSD.org mail is handled (pri=10) by nevdull.FreeBSD.org
所有发往 example.FreeBSD.org
的邮件都会被收集到 hub
上的同一个用户名下,而不是直接发往你的主机。
上述信息是由 DNS 服务器处理的。携带邮件路由信息的 DNS 记录是 MX 条目。如果没有 MX 记录,邮件将通过其 IP 地址直接送到主机上。
freefall.FreeBSD.org
的 MX 条目曾经是这样的:
# host example.FreeBSD.org
example.FreeBSD.org has address 204.216.27.XX
example.FreeBSD.org mail is handled (pri=10) by nevdull.FreeBSD.org
freefall
有许多 MX 条目。最低的 MX 号码是直接接收邮件的主机,如果有的话。如果它由于某种原因不能访问,下一个较低编号的主机将暂时接受邮件,并在较低编号的主机可用时将其传递。
备用 MX 站点应该有独立的互联网连接,以便发挥最大作用。你的 ISP 可以提供这种服务。
31.6.2.域名邮件¶
当为一个网络配置 MTA 时,任何发送到其域内主机的邮件都应该被转移到 MTA,以便用户可以在主邮件服务器上收到他们的邮件。
为了使生活变得更简单,在 MTA 和带有 MUA 的系统上都应该存在一个具有相同 username 的用户账户。使用 adduser(8) 来创建用户账户。
MTA 必须是网络上每个工作站的指定邮件交换器。这可以在 DNS 配置中通过 MX 记录来完成:
example.FreeBSD.org A 204.216.27.XX ; Workstation
MX 10 nevdull.FreeBSD.org ; Mailhost
这将使工作站的邮件重定向到 MTA,无论 A 记录指向哪里。邮件会被发送到 MX 主机上。
这必须在 DNS 服务器上进行配置。如果网络没有运行自己的 DNS 服务器,请与 ISP 或 DNS 提供商沟通。
下面是一个虚拟电子邮件托管的例子。假设一个域名为 customer1.org
的客户,customer1.org
的所有邮件都应该被发送到 mail.myhost.com
。其 DNS 条目应该是这样的:
customer1.org MX 10 mail.myhost.com
customer1.org
不 需要 A
记录,以便只处理该域名的电子邮件。然而,除非有 A
记录存在,否则对 customer1.org
运行 ping
将不工作。
告诉 MTA 它应该接受哪些域名和/或主机名的邮件。以下两种方法都适用于 Sendmail:
在使用
FEATURE(use_cw_file)
时,将主机添加到 /etc/mail/local-host-names。在 /etc/sendmail.cf 中添加
Cwyour.host.com
一行。