このページではLinux構築した自宅サーバーで使用するMTAであるPostfixでの、メールの受信に関する設定について初心者向けに解説します。

HPの格安エントリーサーバー機"HP ProLiant ML115"でのLinuxサーバー構築記を掲載しました。サーバー機の選定にお悩みの方は是非お越しください...。お便利サーバー.com管理人。
サーバーのセットアップ
Postfixの設定

Postfixについて

Postfixのファイル構成

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

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

受信するホスト名の設定

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

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

受信/転送に関する設定

セキュリティ関連の設定

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

Postfixのコントロール

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

サイト内検索

自ホスト宛のメールアドレスの設定

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

"mydestination"〜自ホスト宛のメールアドレス

WBEL3 及び CentOS3 では 156行目〜 、WBEL4及びCentOS4では 154行目〜 あたりに記述があります。

通常電子メールは以下のような構造になっています。

電子メールの構造
電子メールの構造

MTA は任意の ホスト からメールを受信すると、まず "@" 以降の ドメイン名 FQDN を確認します。

ルミカショップへようこそ
管理人がお手伝いしたサイトです。 一度お越しくださいね!。

そしてそれが自 ホスト 宛てに送られてきたメールの場合にはそのまま自ホスト上の アカウント のメールボックスに保存を試み、そうでない場合には DNSサーバー 名前解決 を行って、別の MTA への送信を試みます。

"mydestination" は、 Postfix が自ホスト宛てとして保存すべきメールアドレスの "@" 以降を設定する ディレクティブ です。

WBEL3及びCentOS3の場合 デフォルト では、

mydestination = $myhostname, localhost.$mydomain
#mydestination = $myhostname, localhost.$mydomain $mydomain
#mydestination = $myhostname, localhost.$mydomain, $mydomain,
#    mail.$mydomain, www.$mydomain, ftp.$mydomain

WBEL4及びCentOS4の場合 デフォルト では、

mydestination = $myhostname, localhost.$mydomain, localhost
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
#    mail.$mydomain, www.$mydomain, ftp.$mydomain

となっていますから、[アカウント名]@web1.obenri.com、及び[アカウント名]@localhost.obenri.com、WBEL4及びCentOS4では更に[アカウント名]@localhostが自ホスト宛てのメールとして扱われます。

しかしながら実際にホスト内に保存すべきメールアドレスは、

[アカウント名]@obenri.com

が中心になるはずです。

更に自ホスト内で動作する アプリケーション から送信されるメールは、 "@" 以降に "/etc/sysconfig/network" /etc/sysconfig/networkの設定(WBEL3) /etc/sysconfig/networkの設定(CentOS3) /etc/sysconfig/networkの設定(WBEL4) /etc/sysconfig/networkの設定(CentOS4) に記述されている "HOSTNAME" キーワードの値が使われますから、

[アカウント名]@web1.obenri.com

も必須のパラメータになるでしょう。

従ってこの設定は、 "mydomain" ディレクティブと "myhostname" ディレクティブがそれぞれ "obenri.com" 及び "web1.obenri.com" に設定されていれば main.cfでのホスト名とドメイン名の設定について 、それぞれの変数を利用して、

右はWBEL3及びCentOS3での記述例です。
既存の設定はコメント化するだけですので、WBEL4やCentOS4をお使いの場合は既存の設定から "localhost" の記述を削除する必要はありません。
老婆心ながら。
#mydestination = $myhostname, localhost.$mydomain
#mydestination = $myhostname, localhost.$mydomain $mydomain
#mydestination = $myhostname, localhost.$mydomain, $mydomain,
#    mail.$mydomain, www.$mydomain, ftp.$mydomain
mydestination = $mydomain, $myhostname

と記述しておくと良いでしょう。

これを例えば、

#mydestination = $myhostname, localhost.$mydomain
#mydestination = $myhostname, localhost.$mydomain $mydomain
#mydestination = $myhostname, localhost.$mydomain, $mydomain,
#    mail.$mydomain, www.$mydomain, ftp.$mydomain
mydestination = $mydomain, $myhostname, mail.$mydomain

とすると、更に "[アカウント名]@mail.obenri.com" も自ホスト宛てのメールとして取り扱われるようになります。

また例えば、 "ugegege.com" "obenri.com" と同様に WAN 空間上で 構築中のLinuxサーバー 宛てに 名前解決 されていれば、単純に、

#mydestination = $myhostname, localhost.$mydomain
#mydestination = $myhostname, localhost.$mydomain $mydomain
#mydestination = $myhostname, localhost.$mydomain, $mydomain,
#    mail.$mydomain, www.$mydomain, ftp.$mydomain
mydestination = $mydomain, $myhostname, mail.$mydomain, ugegege.com

と追加記述すれば、 "[アカウント名]@ugegege.com" も自ホスト宛てのメールとして取り扱われるようになります。

ただし、ここで注意が必要なのは"@"以降がFQDNの場合、そのFQDNは原則として、

送信側のMTAが参照するDNSサーバーが、 IPアドレス に名前解決できるものでなければらなない。

ということです。

例えば上の例では、正式なホスト名"web1.obenri.com"と"mail.obenri.com"、そして"ugegege.com"は ダイナミックDNS ダイナミックDNSの設定(WBEL3) ダイナミックDNSの設定(CentOS3) ダイナミックDNSの設定(WBEL4) ダイナミックDNSの設定(CentOS4) によって 構築中のLinuxサーバー WAN 側のIPアドレスに名前解決されるため受信可能になっています。

従ってもしも"tanaka@ddd.obenri.com"で受信を可能にしたい場合には、 サブドメイン "ddd.obenri.com" に対してDNSサーバー(もちろんダイナミックDNSでもOK)で名前解決が設定されていなければなりません。

ただし、 構築中のLinuxサーバー を送信メールサーバーとして、そのサーバー内の アカウント にメールを送信する場合、すなわちMTA間の転送が行われないメールの送信については、 "mydestination" ディレクティブにさえ記述されていれば任意のドメイン名やFQDNでも受信してしまいます。実在のドメイン名でも架空のドメイン名でも構いません。

極端にいえば "mydestination" ディレクティブを

#mydestination = $myhostname, localhost.$mydomain
#mydestination = $myhostname, localhost.$mydomain $mydomain
#mydestination = $myhostname, localhost.$mydomain, $mydomain,
#    mail.$mydomain, www.$mydomain, ftp.$mydomain
mydestination = $mydomain, $myhostname, microsoft.com

と設定しておき、送信メールサーバーを"mail.obenri.com"と設定した MUA から tanaka@microsoft.com 宛てにメールを送ると、 構築中のLinuxサーバー ユーザーアカウント "tanaka" のメールボックスに書き込まれることになります。

冒頭にも説明したとおり、これはPostfixの転送が、

1.送信されてきたメールアドレスの"@"以降を"mydestination"ディレクティブの内容と比較し、一致するものがあればサーバー自身のアカウント宛にメールデータを書き込む。

2."mydestination"ディレクティブの内容と一致しなかった場合はDNSサーバーを参照して送信先のメールサーバーを探す。

という手順で行われるために起こる現象です。

もちろんこんなことをすると、本物の "*****@microsoft.com" 宛てには全くメールを送ることができなくなるのでご注意ください。

ということは、 MUA 「送信メールサーバー」 "mail.obenri.com" という設定を行っておけば、"mydestination"ディレクティブに一致するドメイン名やFQDNはすべてサーバー内に取り込まれるわけですから、全員が "*****@microsoft.com" でメールをやり取りすることも可能というわけです。

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

このサイトに対するご意見、ご要望、苦情、泣き言、献上品、資金援助などがございましたら こちら からお寄せください(お返事できなかったらごめんなさい)。もちろん リンクフリー です。趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。
Powered by Apache
”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。
Powered by White Box Enterprise Linux