我如何预置 Postfix 的邮件名?

Bas*_*erg 5 postfix pxe preseed

我不想让 postfix 询问它的邮件名,我只是想让它使用它的 fqdn 名称。

这是我的预置文件

Col*_*son 2

将邮件名设置为固定值很容易,只需将其添加到您的预置文件中即可:

postfix postfix/mailname string your-preferred-mailname
Run Code Online (Sandbox Code Playgroud)

但是,这并不完全是您所要求的:您要求它只是为了使用您的 FQDN(这是问题的默认值)。这有点棘手。是否询问 debconf 问题由问题的优先级和“seen”标志的组合控制。但是,仅设置“seen”标志就会抑制从 FQDN 中获取默认值的正常行为,这不是您想要的。

因此我认为你有两个合理的答案。首先,您可以在安装过程中使用“priority=ritic”引导参数将 debconf 优先级设置为“关键”。这确保您只会收到安装程序无法没有答案的问题。对于大多数人来说,这是预播种时的一个不错的选择。

但是,如果由于某种原因您无法执行此操作,则可以使用计算的预置条目。这比较棘手;您必须确保在网络配置发生后获取 FQDN。一种安全的(尽管有些黑客的)方法是滥用分区开始时提供的钩子:

d-i partman/early_command string \
  echo "postfix postfix/mailname string $(hostname --fqdn)" >/tmp/computed-preseed.cfg; \
  debconf-set-selections /tmp/computed-preseed.cfg
Run Code Online (Sandbox Code Playgroud)

(我认为这应该可行,但我还没有测试过。请确认!)


man*_*k13 0

当您的邮件服务器连接到另一个邮件服务器来传输消息时,它会执行 HELO,将其主机名发送到另一个服务器。这是主机名如此重要的原因之一。事实上,为了验证邮件交换的完整性,许多服务器会进行 DNS 查找,以验证 FQDN(完全限定域名)与 HELO 中提供的内容是否匹配。如果它们不匹配,某些服务器将不允许传输邮件。因此,请确保您的 FQDN 是 HELO 中的内容。

Postfix 需要完全限定的域名或 FQDN。FQDN 包括服务器的主机名以及域名,如下所示:

mail.example.com
Run Code Online (Sandbox Code Playgroud)

Postfix 提供了一个实用程序,使您能够将主机名更改为 FQDN。使用带有 -e 选项的命令 postconf 进行编辑 以下是一个示例:

postconf -e myhostname=mail.hello.org
Run Code Online (Sandbox Code Playgroud)

作为旁注:

你可以添加吗main.cf