我使用 Postfix/Dovecot 来收发电子邮件。它们配合得很好。现在我有一台具有多个 IP 地址的服务器,我想用一个域名托管每个 IP 地址以用于邮件。但 Postfix 和 Dovecot 似乎分别从 /etc/postfix 和 /etc/dovecot 读取配置文件。我应该运行多个 Postfix 和 Dovecot 实例吗?邮件数据怎么样?它们似乎存储在每个用户的主目录和 /var/spool/mail 中?
任何出色的教程链接都将不胜感激。
答案1
每个域名实际上没有必要使用一个 IP 地址,Postfix 和 Dovecot(以及 DNS 系统)都能够仅使用一个 IP 来处理实际上无限数量的域名。
即使每个 IP 只使用一个域,您通常仍然只运行一个 Postfix/Dovecot 实例并相应地配置它们以处理所有域的邮件。
此外,Postfix 和 Dovecot 都可以为用户使用广泛的来源,从默认的 unix 系统用户形式到文本文件、SQL 数据库或 LDAP 目录,并且您可以按域甚至按用户配置邮件的存储位置。
如何做到这一点太过宽泛,无法在 SF 上回答。
关于 PTR 记录:您说得对,一个 IP 只能有一个 PTR 记录,但这实际上是可以的。
重要的是,邮件服务器使用与其HELO
消息中的 PTR 记录相同的主机名(如 postfixmyhostname
参数中设置的那样),因此 PTR 记录、A 记录和 HELO 名称的三元组必须相同。
对于纯 SMTP 部分,这已经足够了。垃圾邮件过滤器使情况变得更加复杂,因为如果地址FROM
和HELO
不匹配,它们确实会对这种设置增加一点惩罚,但仅凭这一点通常不足以将邮件归类为垃圾邮件。
可以通过不同的方式来解决这个问题:
- 用作
mail.example.com
的 MXexample.org
。垃圾邮件过滤器会检查此邮件。 mail.example.com
添加授权代表发送邮件的SPF 记录example.org
。- 使用 DKIM。
因此,最终,它仍然成立:一个 IP 地址足以用于多个邮件域,并且仅在您在 HA 场景中具有多个 NICS 或甚至服务器的更复杂设置时才使用多个 IP 地址才有用,但即便如此,您可能也不会将域分离到特定的 IP 地址。