在 postfix 中,myhostname 和 mydomain 有什么区别?

在 postfix 中,myhostname 和 mydomain 有什么区别?

我第一次尝试设置 postfix。正在阅读基本配置文档,我马上就面临两个我无法理解的设置 -mydomainmyhostname。我遇到的情况可能最简单的 - 单个域的单个服务器。我们称之为example.com。我的服务器为 提供网页http://anything.example.com,我也希望它接收 的电子邮件[email protected]。(也发送,但那只适用于授权用户;我稍后会谈到)

mydomain那么,在这种情况下,和之间有什么区别myhostname?或者它们都应该简单地设置为example.com

另外值得注意的是,我的 DNS 提供商(我自己不托管它)出于某种原因不允许我输入example.com我的MX记录。但这似乎更像是他们系统的一个怪癖。我已经mail.example.com在那里设置了,但*.example.com无论如何都会映射到我的 IP(在A记录中),所以这应该没什么关系,对吧?

答案1

这两个文档的关键部分如下,因为它告诉我们如何使用它们。

$myhostname用作许多其他配置参数的默认值。

$mydomain用作许多其他配置参数的默认值。

要了解两者中应该包含的内容,请查阅以下输出postconf

# postconf -d | grep myhostname
lmtp_lhlo_name = $myhostname
local_transport = local:$myhostname
milter_macro_daemon_name = $myhostname
mydestination = $myhostname, localhost.$mydomain, localhost
myhostname = server.example.com
myorigin = $myhostname
smtp_helo_name = $myhostname
smtpd_banner = $myhostname ESMTP $mail_name
smtpd_proxy_ehlo = $myhostname

对于接收邮件,example.com您只需要在mydestination(或virtual_alias_domains等)中使用它,默认情况下只有$myhostnamelocalhost.$mydomain。请注意,因为mydestination可以配置为包含纯文本example.com(或包含它的变量$mydomain),所以不需要$myhostname = example.com。最终目标地址不直接基于这些变量,即它不限制您可以接受邮件的域。

另一方面,在和$myhostname中使用。作为smtpd_bannersmtp_helo_nameRFC 5321, 4.1.1.1解释道,这应该是完全合格域名SMTP 客户端(即您的服务器)的 FQDN。一些接收 MTA 可能会验证HELO主机名是否与 IP 地址的记录匹配PTR,不匹配会导致额外的垃圾邮件分数,甚至在最坏的情况下被拒绝。因此,建议与记录$myhostname中的任何内容匹配PTR,并检查是否PTR有相应A记录。

此外,如果您希望接收 的邮件[email protected]*.example.com. A仅有 DNS 记录是不够的(尽管如果没有MX记录也会使用),但您也需要将其列在您的 中mydestination

答案2

myhostname 是完全限定域名。mydomain 是您用于电子邮件的域名。

来自文档

myhostname(默认:参见“postconf -d”输出)

此邮件系统的 Internet 主机名。默认使用 gethostname() 中的完全限定域名 (FQDN),或使用 gethostname() 中的非 FQDN 结果并附加“.$mydomain”。$myhostname 用作许多其他配置参数的默认值。

例子:

myhostname = host.example.com

mydomain(默认:参见“postconf -d”输出)

此邮件系统的 Internet 域名。默认使用 $myhostname 减去第一个部分,或“localdomain”(Postfix 2.3 及更高版本)。$mydomain 用作许多其他配置参数的默认值。

例子:

mydomain = 域名.tld

答案3

myhostname 是安装的 postfix 服务器的主机名。domain name 是配置的 SMTP 服务器域。

相关内容