CentOS7 に Postfix をインストールする

はじめに

 CentOS7 のデフォルトのメール送信サーバー (MTA) は Sendmail です。これを Postfix に置き換えます。ホストのローカルから外部へメールを送信したときの送信元ホスト名(ホストパート、@より後ろの部分)もカスタマイズします。

インストール

 標準リポジトリからインストールできます。また、簡単なメール送信の動作確認で mail コマンドが使えるように、mailx パッケージもインストールしておきます。

$ sudo yum install postfix mailx

基本設定

 Postfix がメール送信サーバーとして外部のメールサーバーに提示するホスト名は、デフォルトでは CentOS のローカル名になります。例えば、CentOS のホスト名が「host1」の場合、「host1.localdomain」が外部のメールサーバーに提示されます。
 また、このホストのローカルから直接メールを送信する際も、送信元メールアドレスのドメインパート部分に適用されます。
 もし、この名前とは別に、メールサーバーあるいはアプリケーションサーバーらしいホスト名、例えば「smtp.example.com」や「app.example.com」などにしたい場合は、下記のように設定を調整します。

/etc/postfix/main.cf
(75行目付近、メール送信元として外部のメールサーバーに提示するFQDN)
myhostname = smtp.example.com

(98行目付近、コメントアウトを外す)
myorigin = $myhostname

MTA 切り替えと Postfix 起動

 MTA を Sendmail から Postfix に切り替えます。また、OS 起動時に Postfix が起動するようにします。

(MTA切り替え)
$ sudo alternatives --config mta

2 プログラムがあり 'mta' を提供します。

  選択       コマンド
-----------------------------------------------
*+ 1           /usr/sbin/sendmail.sendmail
   2           /usr/sbin/sendmail.postfix

Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:2


(MTA確認)
$ sudo alternatives --config mta

2 プログラムがあり 'mta' を提供します。

  選択       コマンド
-----------------------------------------------
*  1           /usr/sbin/sendmail.sendmail
 + 2           /usr/sbin/sendmail.postfix

Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:
$ sudo systemctl stop sendmail
$ sudo systemctl start postfix

$ sudo systemctl disable sendmail
$ sudo systemctl enable postfix

動作確認

 このホストから、外部のメールサーバー宛にメールを送信してみます。もし可能であれば、送信先のメールサーバーのメールログも合わせて確認してみてください。

(メールを送信してみる)
$ mail -s "transport test" user@other.example.com
To user@oher.example.com

This is a test mail.
   from user@smtp.example.com
.
EOF


(メールログを確認してみる)
cat /var/log/maillog

(可能であれば、送信先のホストでもメールログを確認してみる)

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください