LinuxServer 電子メールについてもう一度… Postfixのインストールと設定
インストール環境はCentOS6.3を使います。
Postfixのインストール
CentOS6.3は初期段階でPostfixがインストールされています。
# yum list| grep postfix
postfix.x86_64 2:2.6.6-2.2.el6_1 @anaconda-CentOS-201207061011.x86_64/6.3
fedoraではyumコマンドを使用し、パッケージをインストールします。
# yum install postfix
インストールを完了すると/etc/postfixというディレクトリができ、
下記のファイル群が保存されます。
# ls -l /etc/postfix
total 168
-rw-r–r–. 1 root root 19579 Dec 3 2011 access
-rw-r–r–. 1 root root 11681 Dec 3 2011 canonical
-rw-r–r–. 1 root root 9904 Dec 3 2011 generic
-rw-r–r–. 1 root root 18287 Dec 3 2011 header_checks
-rw-r–r–. 1 root root 27013 Jul 12 16:34 main.cf
-rw-r–r–. 1 root root 5113 Dec 3 2011 master.cf
-rw-r–r–. 1 root root 6816 Dec 3 2011 relocated
-rw-r–r–. 1 root root 12500 Dec 3 2011 transport
-rw-r–r–. 1 root root 12494 Dec 3 2011 virtual
Postfixの設定
主な設定はmain.cfで、デーモンプロセスについての設定はmaster.cfで行います。
main.cfでは数百のパラメータが有りますが最低限の動作をさせるには
数個のパラメータを設定するだけでMTAとして動作します。
#vi /etc/postfix/main.cf
でmain.cfを編集します。
main.cf には次のような形式で各種パラメータを記述します。
パラメータ名 = 値
値が複数ある場合は、カンマ(,)で区切り、記述します
myhostname = smtp.sender.org
myhostnameパラメータはメールサーバのホスト名を設定します。
myhostnameのパラメータはメールサーバがクライアントに返す最初のメッセージ中にも現れます。
次のmydomainパラメータのデフォルト値を生成する元にもなっていますので
myhostnameパラメータはFQDN形式で、かつDNSで検索できる値を指定します。
mydomain = sender.org
mydomainパラメータはメールサーバが所属するドメイン名を設定します。
myorigin = $mydomain
myoriginパラメータは$mydomain(mydomainパラメータと同じ値)にすることで、
クライアントからのメールがどのドメインから送られたか、すなわちメールアドレスの
@の右側を補完します。
inet_interfaces = all
inet_interfacesパラメータでは、メールの受信を許可するインターフェースを設定します。
デフォルトではinet_interfaces = localhostとなっており、自ホストからのみメールを
受信するよう設定されていますが、外部からのメール受信を許可するにはallを設定します。
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mydestinationパラメータではメールを受信する(メールボックスを受け持つ)ドメイン名を指定します。
$mydomainはデフォルトでは記述されていませんので追記します。
mynetworks = 127.0.0.0/8
mynetworksパラメータでは信頼できるクライアントネットワークのアドレスを
CIDR(work/mask)表記で記述します。
今回のサーバはクライアントネットワークを置かないので自ホストの127.0.0.0/8を指定します。
home_mailbox = Maildir/
home_mailboxパラメータではユーザのメールボックス(受信形式)を選択します。
デフォルトではmbox形式が設定されますが、Maildir/を指定します。
ここまでで、基本的な設定が終わり、Postfixを起動させれば、メールの送受信が可能になります。
Postfixの起動と停止
CentOS6.3では起動スクリプトにてプロセスの制御が可能です。
次のコマンドでPostfixプロセスの起動と停止が行えます。
# /etc/init.d/postfix stop 停止
Shutting down postfix: [ OK ]
# /etc/init.d/postfix start 起動
Starting postfix: [ OK ]
# /etc/init.d/postfix restart 再起動
Shutting down postfix: [ OK ]
Starting postfix: [ OK ]
また、Postfixコマンド(/usr/sbin/postfix)でも制御が可能です。
# /usr/sbin/postfix stop
postfix/postfix-script: stopping the Postfix mail system
# /usr/sbin/postfix start
postfix/postfix-script: starting the Postfix mail system