このページでは自宅サーバーで使用するPostfixの主設定ファイルmain.cfホスト名とドメイン名に関する記述について初心者向けに解説します。
お便利サーバー.com+相互リンクサイト内をキーワードで検索
Postfixの設定

Postfixについて

Postfixのファイル構成

設定ファイルmain.cfについて

ホスト名とドメイン名の設定

受信するホスト名の設定

ホスト名毎のメールの振分け

メール転送設定の使い分け

受信/転送に関する設定

セキュリティ関連の設定

"main.cf"の書式チェック

Postfixのコントロール

連携するアプリケーション


"main.cf"中のホスト名とドメイン名に関する設定

以下は、 Postfix の主設定ファイル "/etc/postfix/main.cf" の設定項目です。

"myhostname"〜自身のホスト名

WBEL3 及び CentOS3 では 67行目 、WBEL4及びCentOS4では 68行目 、CentOS5では 69行目 あたりに記述があります。

Postfix が自分自身が動作してる ホスト FQDN を認識するために設定する ディレクティブ です。

このディレクティブを明示的に設定しない場合は、自動的に "/etc/sysconfig/network" /etc/sysconfig/networkの設定(WBEL3) /etc/sysconfig/networkの設定(CentOS3) /etc/sysconfig/networkの設定(WBEL4) /etc/sysconfig/networkの設定(CentOS4) /etc/sysconfig/networkの設定(CentOS5) に記述されている "HOSTNAME" キーワードの値、つまり "web1.obenri.com" が間接的に "myhostname" ディレクティブのパラメータとして設定されます。

従って通常は省略しても構いませんが、先頭の "#" を削除し、

myhostname = web1.obenri.com

と、明示的に記述することもできます。

ただし明示的に記述した場合は、ホストのFQDNを変更する際には合わせて設定を変更する必要があります。

"mydomain"〜自身のドメイン名

WBEL3 及び CentOS3 では 75行目 、WBEL4及びCentOS4では 76行目 、CentOS5では 77行目 あたりに記述があります。

Postfix が自分自身が動作してる ホスト の所属する ドメイン名 を認識するために設定する ディレクティブ です。

このディレクティブを明示的に設定しない場合は、自動的に "myhostname" ディレクティブのパラメータの先頭から、 "*." を取り除いたものが "mydomain" ディレクティブのパラメータとして設定されます。

もちろん "myhostname" ディレクティブを明示的に設定していない場合でも自動できちんと "mydomain" ディレクティブに引き継がれます。

例えば、 "myhostname" "web1.obenri.com" に設定されている場合には、 "web1." が取り除かれて "obenri.com" が設定されることになります。

ただし自動的に取り除かれるのは、先頭の "*." だけです。

従って "web1.my.obenri.com" のように サブドメイン でホストの FQDN を設定しているとき、 "mydomain" ディレクティブは "my.obenri.com" と設定しなければならない点に注意してください。

Postfixの構築に
役に立った一冊です

よって今回のように "myhostname" ディレクティブに "web1.obenri.com" が設定されていて、 "mydomain" "obenri.com" を設定するような「ごく普通のパターン」では明示的に設定を行う必要はありません。もちろん先頭の "#" を削除し、

mydomain = obenri.com

と、明示的に記述することもできます。

ただし明示的に記述した場合は、ホストのドメイン名を変更する際には合わせて設定を変更する必要がある点に注意してください。

"myorigin"〜@以降に補完するホスト名

WBEL3 及び CentOS3 では 90行目〜 、WBEL4及びCentOS4では 91行目〜 、CentOS5では 92行目〜 あたりに記述があります。

メールの送信者のアカウント名以降が省略されてメールが送信された場合に、送信者アカウントに付加する"@"以降を指定するための ディレクティブ です。

これでは何のことかわからないと思いますので、詳しく説明します。

構築中のLinuxサーバー 以外の ホスト 上の MUA を利用する場合、通常はMUAの アカウント 設定で 自分のメールアドレス を設定します。

MUAのアカウント設定の例(Outlook Express)
MUAのアカウント設定の例(Outlook Express)
OutlookExpress では、そういう設定を行おうとすると、「そのメールアドレスは有効ではないようです」と釘を刺されますが、ちゃんと設定できます。

実は、ここに設定するメールアドレスは "@obenri.com" を省略して、 "tanaka" だけでも構いません。

こういう設定の場合に、MUAからメールの送信を受けた Postfix は、tanakaの後ろに"@"と"myorigin"ディレクティブで指定されたパラメータを付加して後の転送作業を行うからです。

デフォルトの"myorigin"ディレクティブは、

#myorigin = $myhostname
#myorigin = $mydomain

と、設定行が二つともコメントアウトされていますが、明示的に設定が行われていない場合は "myhostname" ディレクティブのパラメータがそのまま"myorigin"ディレクティブに設定されます。

つまりデフォルトの設定のままの場合、アカウント名"tanaka"だけで送信されたメールの送信元情報は、 "tanaka@web1.obenri.com" というメールアドレスから送信されたものとして扱われるようになります。

これを、

#myorigin = $myhostname
myorigin = $mydomain

に変更すると、"myorigin"ディレクティブには"mydomain"ディレクティブのパラメータがそのまま入りますので、送信元情報は、 "tanaka@obenri.com" となります。

従って通常はこの設定でよいでしょう。

とはいうものの、通常MUAのアカウント設定では、自分のメールアドレスをアカウント名だけで記述するようなことはしませんから、この設定の存在意義がよく解らないかもしれません。

要するに、現在の一般的なメール使い方ではあまり重要ではない、ということです。
もちろん、強いて理解する必要はありません。

この設定は元々、いくつかの拠点に分かれた一つの組織の中で複数の サブドメイン と複数の メールサーバー を連携させて運用するような場合に、各ユーザーのメールボックスを格納する サーバー をサーバー管理者がコントロールしやすくするためのもの、と解釈してください。

"inet_interfaces"〜受信を許可する範囲

WBEL3 及び CentOS3 では 105行目〜 、WBEL4及びCentOS4では 106行目〜 、CentOS5では 107行目〜 あたりに記述があります。

Postfix がメールを受信を許可する ホスト の範囲を設定する ディレクティブ です。

デフォルト では、

#inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
inet_interfaces = localhost

となっていて、 "localhost" つまり 構築中のLinuxサーバー からのメールだけを受け付けるようになっています。

もちろんこれでは外部の MUA からも MTA からもメールの受信ができませんから、

inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
#inet_interfaces = localhost

と修正して、全てのホストからの受信が可能になるように設定します。

ただしこの設定で有効になるのは、「Postfixがメールを受信し、 構築中のLinuxサーバー 内のメールボックスにメールを保存する。」 という動作だけです。受信したメールを転送できるようにするには、後述する "mynetworks_style" または "mynetworks" での設定が必要になります。

inet_interfaces = allと設定された場合のPostfixの動作
inet_interfaces = allと設定された場合のPostfixの動作

つまりこの"inet_interfaces"ディレクティブのパラメータは、Postfix自身が外部ホストに対してMTAとして働くための最低条件の設定となります。

関連セクションへ 関連セクション・ メールサーバーの構築

このサイトは既に更新を終了していますが、今のところ店じまいの予定はありません。 リンクフリー ですので、趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。
Powered by Apache
”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。
www.centos.org - The Community ENTerprise Operating System