(※2016/05/06 一部加筆)
まずは最小限の設定で、『これだけやっておけば外部とメールが送受信できる』というところまで、
設定する。
ここまでできれば、ネットワークやiptables等の、メールソフト以外の設定には問題ない事が分かるので、後ほど認証や暗号化等の設定を追加した際にも、問題の切り分けがしやすい、はず。
環境は以下の通り。
OS : CentOS6.5
MTA : postfix2.6.6
MRA : dovecot2.0.9
MUA : Thunderbird
DNS : myDNS
ドメイン名(例) = xxx.mydns.jp (xxxは伏せ字)
ホスト名(例) = mail.xxx.mydns.jp (xxxは伏せ字)
- 名前解決にはダイナミックDNSサービスの MyDNS を使っているので、下記のMXレコードの設定前に、登録と初期設定を行っておく必要がある。
- また、ポート開放についてもここでの説明は割愛しているが、適宜サーバのiptablesやファイアウォールの設定を事前に行う必要がある。
① myDNSの設定
MXレコードとAレコードに、メールサーバのホスト名を入力する。
(他に、IPアドレスの設定は事前にやっておく)
※MXレコードの欄は、FQDNで登録しないとうまく動作しなかった。
② postfixの設定
postfixの設定ファイル 『/etc/postfix/main.cf』 の下記項目を編集する。なお、デフォルト値はpostconf -d で確認できる。
myhostname = mail.xxx.mydns.jp
メールサーバのホスト名(FQDN)を記入。DNSのMXレコード、Aレコードの設定と一致させる。
myorigin = $mydomain (行頭の"#(コメントアウト)"を外す)
送信メールに付加される送信元アドレスの@以降の形式を指定(myhostname か mydomain)。
mydomainに設定することで、送信元メールアドレスは、foo@xxx.mydns.jpになる。
inet_interfaces = all
外部のメールサーバから送られてくるメールを受け取る。mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
他のメールサーバに転送を行わない(=このメールサーバが受信する)ホスト、ドメインを指定する。$mydomain を含めておくことで、foo@xxx.mydns.jp宛のメールを受信できる。
home_mailbox = Maildir/ (または Mailbox)を指定
メールを保存する場所を設定。
Mailbox 形式は、全てのメールを1つのファイルに保存する。
Maildir/ 形式は、1つのメール=1つのファイルになる。パフォーマンスやセキュリティ等、
Maildir/ の方が優れている、らしい。
Mailbox を指定した場合は、さらにメールスプールディレクトリを指定する。
→ (mail_spool_directory = /var/mail または /var/spool/mail)
※Maildir/ ディレクトリは、各ユーザのホームディレクトリ配下に自動で生成される。
※Maildir/ ディレクトリは、各ユーザのホームディレクトリ配下に自動で生成される。
mydomain = xxx.mydns.jp
何も指定しなければ、myhostnameの最初の".(ドット)"までが削除された値が指定される。myhostname = mail.xxx.mydns.jp であれば自動的に mydomain = xxx.mydns.jp となる。
(ホスト名がaaa.bbb.xxx.mydns.jp のような場合は変更する)
mynetworks_style = subnet
mynetworks = aaa.bbb.ccc.0/dd(自ホストのネットワーク), 127.0.0.0/8(自ホスト)
メールサーバを利用可能なクライアントのネットワークを設定。
上記は両者とも自ホストと、自ホストのネットワークを指定している。
両方記載した場合には、mynetworks が優先される。
(自ホストのネットワークを明示したい場合には、mynetworksに記載する。)
(自ホストのネットワークを明示したい場合には、mynetworksに記載する。)
main.cf の編集後、忘れずにpostfixを再起動させる。
0 件のコメント:
コメントを投稿