我如何预先设置 Postfix 的邮件名?

我如何预先设置 Postfix 的邮件名?

我不希望 Postfix 询问其邮件名称,我只希望它使用它的 fqdn 名称。

这是我的预置文件

答案1

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

postfix postfix/mailname string your-preferred-mailname

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

因此我认为您有两个合理的答案。首先,您可以在安装过程中使用“priority=critical”启动参数将 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

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

答案2

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

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

mail.example.com

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

postconf -e myhostname=mail.hello.org

附注:

你能添加吗main.cf

相关内容