我必须在 Debian 服务器上安装 MTA(postfix 或 exim)。它将为 3 个域提供电子邮件服务。接收多个域的电子邮件没有问题,但我不确定是否发送(SMTP)。只有 1 个静态 IP,反向 DNS 将返回其中一个域。据我所知,为了避免反垃圾邮件过滤器出现问题,HELO/EHLO
SMTP 命令中的域必须与发件人电子邮件地址的域匹配。有没有解决方案可以很好地配置这种情况(单个 IP 上的多个域的 MTA)?
答案1
您必须将其中一个 DNS 区域(域)视为主要区域。这意味着该域的某些主机应双向解析 - 通过记录IN A
和通过IN PTR
记录。所有其他区域/域都应有IN MX
指向该主机的记录作为邮件中继。
我想你会启动自己的名称服务器,而不是使用注册商的名称服务器。以下是主/MXrelay 域的配置
部分:bind
$ORIGIN .
$TTL 3600
yourdomain.tld IN SOA ns.yourdomain.tld. root.yourdomain.tld. (
2018121001 ; serial
30m ; refresh
10m ; retry
2d ; expire
12h ; minimum
)
IN NS ns.yourdomain.tld. ; being NS for itself
IN NS ns.registrar.tld. ; secondary NS
IN A 333.444.555.666 ; glue record - IP addr of your host
IN MX 10 yourdomain.tld. ; trailing dot is mandatory
IN TXT "v=spf1 ip4:333.444.555.666 a mx ~all"
$ORIGIN yourdomain.tld. ; trailing dot is mandatory
ns IN A 333.444.555.666 ; IP addr of your host
ns2 IN A 444.555.666.777 ; IP addr of the secondary NS
www CNAME yourdomain.tld. ; will be expanded to the glue record
ftp CNAME yourdomain.tld.
m CNAME yourdomain.tld.
test CNAME yourdomain.tld.
. . . . .
所有其他域都应按如下方式配置:
$ORIGIN .
$TTL 3600
domain2.tld IN SOA ns.yourdomain.tld. root.yourdomain.tld. (
2018121001 ; serial
30m ; refresh
10m ; retry
2d ; expire
12h ; minimum
)
IN NS ns.yourdomain.tld. ; that NS is responsible
IN NS ns.registrar.tld. ; and this one too
IN MX 10 yourdomain.tld. ; this MX is used as primary
IN TXT "v=spf1 ip4:333.444.555.666 a mx ~all"
$ORIGIN domain2.tld.
www CNAME yourdomain.tld. ; to be resolved into 333.444.555.666
mail CNAME yourdomain.tld. ; ditto
. . . . .
您可以从单个开始yourdomain.tld
,当所有事情都顺利时,您可以添加所有其余域。
毕竟,您将获得一个可以作为所有域的 MTA 的主机,并且能够被所有其他服务(如 Google)正确识别。当然,为了获得最佳性能,您还必须设置 DKIM/DMARC,但您可以从最小设置开始。