29.6. 高级主题

本节涵盖更多涉及的主题,例如邮件配置和为整个域设置邮件。

29.6.1.基本配置

只要配置了 /etc/resolv.conf 或网络可以访问配置好的 DNS 服务器,就可以开箱即发邮件给外部主机。要让邮件被送到 FreeBSD 主机上的 MTA ,请执行以下操作之一:

  • 为该域名运行一个 DNS 服务器。
  • 让邮件直接传递到机器的 FQDN 。

为了让邮件直接送到主机上,它必须有一个永久的静态 IP 地址,而不是一个动态 IP 地址。如果系统在防火墙后面,它必须被配置为允许 SMTP 流量。要在主机上直接接收邮件,必须配置这两个中的一个:

  • 确保在 DNS 中的 MX 记录(最小编号的)指向 IP 地址。
  • 确保在 DNS 中没有该主机的 MX 条目。

上述任何一项都将允许在主机上直接接收邮件。

试试这个:

  1. # hostname
  2. example.FreeBSD.org
  3. # host example.FreeBSD.org
  4. example.FreeBSD.org has address 204.216.27.XX

如果你看到这些,则直接发往 yourlogin@example.FreeBSD.org 应该已经可以正常工作了,假设 sendmail 已经在 example.FreeBSD.org 上正确启动了。

对于这个例子:

  1. # host example.FreeBSD.org
  2. example.FreeBSD.org has address 204.216.27.XX
  3. example.FreeBSD.org mail is handled (pri=10) by nevdull.FreeBSD.org

所有发送到主机 (example.FreeBSD.org) 的邮件在相同的用户名下将会被 hub 终止的收集,而不是直接发送到你的主机。

上面的信息是通过你的 DNS 服务器来处理的。支持邮件路由信息的 DNS 记录是 邮件 交换 记录。如果 MX 记录不存在,邮件将通过它自己的 IP 地址被直接的发送到主机。

freefall.FreeBSD.org 的 MX 记录如下所示:

  1. freefall MX 30 mail.crl.net
  2. freefall MX 40 agora.rdrop.com
  3. freefall MX 10 freefall.FreeBSD.org
  4. freefall MX 20 who.cdrom.com

freefall 有很多 MX 记录。最小编号的 MX 记录是直接接收邮件的主机。如果它由于某种原因无法访问,下一个较低编号的主机将暂时接受邮件,并在较低编号的主机可用时将其传递。

为了有效的使用交换式 MX 站点,应当从你的机器上分离一些 Internet 连接。你的 ISP 或者其它友好的站点可以没有任何问题的为你提供这个服务。

29.6.2.域名的邮件

当为一个网络配置 MTA 时,任何发送到其域内主机的邮件都应该被转移到 MTA ,这样用户就可以在主邮件服务器上收到他们的邮件。

为了使工作变得更简单,在 MTA 和装有 MUA 的系统上都应该存在一个具有相同用户名的用户账户。使用 adduser(8) 来创建用户账户。

MTA 必须是网络上每个工作站的指定邮件交换器。这可以在 DNS 配置中用 MX 记录来完成。

  1. example.FreeBSD.org A 204.216.27.XX ; Workstation
  2. MX 10 nevdull.FreeBSD.org ; Mailhost

无论 A 记录指向哪,这将为工作站重新定位到邮件主机。邮件将被发送到 MX 主机。

你不能自己这样做除非你运行着一个 DNS 服务器。如果不是这样,或者不能运行你自己的 DNS 服务器,告诉你的 ISP 或者给你提供 DNS 服务的人。

如果你正在使用虚拟邮件主机,下面的信息将会对你有用。在这个例子里,我们假定你有一个客户并且他有自己的域,这个例子中是 customer1.org ,你要把 customer1.org 所有的邮件发送到你的邮件主机 mail.myhost.com 。你的 DNS 记录应该是这样:

  1. customer1.org MX 10 mail.myhost.com

customer1.org 不需要 A 记录,以便仅处理该域的电子邮件。但是,除非存在 A 记录,否则对 customer1.org 运行 ping 将不起作用。

最后一件你必须要做的事是告诉 sendmail 接受邮件的是什么域和(或)主机名。这里有好几种方法。下面方法可以任选一种:

  • 在使用 FEATURE(use_cw_file)时,将主机添加到 /etc/mail/local-host-names
  • /etc/sendmail.cf 中加入 Cwyour.host.com 一行。