web-dev-qa-db-ja.com

Postfixのメール名をどのようにpreseedしますか?

Postfixにメール名を要求したくありません。fqdn名を使用したいだけです。

これは私の preseed file です

これをpreseedファイルに追加することで、メール名を固定値に設定するのは簡単です。

postfix postfix/mailname string your-preferred-mailname

ただし、それはあなたが求めたものとはまったく異なります。FQDN(質問のデフォルト値)を使用するためだけに要求しました。それは少し複雑です。 debconf質問をするかどうかは、質問の優先度と「表示済み」フラグの組み合わせによって制御されます。ただし、「seen」フラグを設定するだけで、FQDNからデフォルト値を取得するという通常の動作が抑制されますが、これは望ましくありません。

したがって、2つの妥当な答えがあると思います。まず、「priority = critical」ブートパラメータを使用して、インストール中にdebconfの優先度をcriticalに設定できます。これにより、インストーラーがなくてはならない答えを持つ質問のみが得られるようになります。ほとんどの人にとって、これはpreseedするときの良いオプションです。

ただし、何らかの理由でこれができない場合は、計算されたpreseedエントリを使用できます。これは難しいです。ネットワーク構成が発生した後、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
Colin Watson

メールサーバーが別のメールサーバーに接続してメッセージを転送すると、メールサーバーはホスト名を他のサーバーに送信するHELOを実行します。これは、ホスト名が非常に重要な理由の1つです。実際、メール交換の整合性を検証するために、多くのサーバーはDNSルックアップを実行して、FQDN(完全修飾ドメイン名)がHELOで提供されたものと一致することを検証します。それらが一致しない場合、一部のサーバーはメールの転送を許可しません。したがって、FQDNがHELOに存在するものであることを確認してください。

Postfixには完全修飾ドメイン名またはFQDNが必要です。 FQDNには、サーバーのホスト名と次のようなドメイン名が含まれます。

mail.example.com

Postfixは、ホスト名をFQDNに変更できるユーティリティを提供します。編集するために、コマンド-confオプションと-eオプションを使用します。次に例を示します。

postconf -e myhostname=mail.hello.org

補足として:

main.cfを追加できますか?

0
maniat1k