.png)
VPS をセットアップしたとき、名前を「main」に設定しました。そのため、/etc/hosts ファイルと /etc/hostnames ファイルの両方に 1 つのエントリ (「main」) がありました。そこで、ルート ssh アクセスをセットアップし、「hostname」と入力すると、「main」が表示されます。「hostname -f」と入力しても同じ結果になります。
さて、私は Django アプリからメールを送信するように Exim4 を設定しようとしています (受信ではなく送信のみが必要です)。そこで、次のコードを に追加しました/etc/hosts
。
127.0.1.1 main.mydomain.com main
<myip> main.mydomain.com main
その後、 を実行しservice hostname restart
、hostname -f
のみが返されましたmain
。 再起動もしましたが (これは避けるようにしています)、それでも が返されます。 なぜそうなるのかわかりません... 実際のファイル自体には新しいエントリが表示されますが、実際のまたはコマンドをどうやっても変更main
できません。hostname
hostname -f
推測ですが、100% 確信はありません。そのため、コマンドを使用してもメールが届きません(メールが多すぎるのでしょうか?)。exim を使用するためにホスト名を設定することが絶対に必要でない場合は、非常に面倒なので避けたいと思います。echo test message | mail -s test [email protected]
[email protected]
どのような助けでも、私はあなたの素晴らしさに永遠に感謝するでしょう。
答え1
ドメイン名を設定するには、同じ名前のプログラムを使用できますdomainname
。
sudo domainname example.com
実際に設定された値を照会するには、パラメータなしで呼び出します。
また、hostname.sh
変更を有効にするには、スクリプトを実行する必要があります (OS によって異なります)。
/etc/init.d/hostname.sh
Debian および派生版では、/etc/mailname
送信メールのデフォルトの送信者ドメインを含む も存在します。
Exim については何も言えませんが、exim の host- と domainame のデフォルト値は OS の設定を指すはずだと思います。
ホスト名のマニュアルページを引用するには:
FQDN
このコマンドでは、FQDN (hostname --fqdn によって返される) または DNS ドメイン名 (dnsdomainname によって返される) を変更することはできません。システムの FQDN は、resolver(3) がホスト名に対して返す名前です。
技術的には、FQDN は gethostname(2) によって返されるホスト名に対して getaddrinfo(3) が返す名前です。DNS ドメイン名は最初のドットの後の部分です。
したがって、変更方法は設定 (通常は /etc/host.conf 内) によって異なります。通常は (hosts ファイルが DNS または NIS の前に解析される場合)、/etc/hosts 内で変更できます。
答え2
メールがPostfix経由で送信される場合は、次の値も編集して/etc/postfix/main.cf
正しい値にする必要があります。myhostname = xyz