そろそろFedora9が出るらしいということで、Fedora8からFedora9へのupgrade方法を調べつつ、今日はFedora8でのpostfixインストール。色々組み合わせてバーチャルホストを構成するというネタは後日やるとして今回は送信専用。スクリプト側からバルク送信することも考えて、遅延送信処理も含める。

■インストール

# yum install postfix

■標準MTAの変更

# alternatives --config mta
There are 2 programs which provide 'mta'.   Selection    Command
-----------------------------------------------
*+1           /usr/sbin/sendmail.sendmail
  2           /usr/sbin/sendmail.postfix 
Enter to keep the current selection[+], or type selection number: 2

■sendmailの自動起動を止める

# chkconfig sendmail off

■postfixの自動起動を設定

# chkconfig postfix on

■smtp/relayで動かないように設定

# vi /etc/postfix/master.cf
#smtp      unix  -       -       n       -       -       smtp
# When relaying mail as backup MX, disable fallback_relay to avoid MX loops
#relay     unix  -       -       n       -       -       smtp

■自ホストのFQDN設定と遅延送信設定

# vi /etc/postfix/main.cf
myhostname = mail.example.com
defer_transports = smtp (追記)

■設定確認

# service postfix check

■sendmailサービス停止

# service sendmail stop

■postfixサービス開始

# service postfix start

追記(5/2):どうもまだこれだけだと遅延送信の確認が出来ていない。後で調べて追記する。

追記(5/5):smtp/relayを殺したらうまくいくはずないよなJK、というわけでその設定はしてはイケナイ。これで遅延送信ができるようになるので、下記の設定を追加。

■sendmail -qで適宜キューの中身を送信

# vi /etc/cron.d/mailqueueflush
* * * * * /usr/sbin/sendmail.postfix -q

間隔は環境ごとに必要十分な値を検討したほうが良いし、出来れば必要な送信処理が終わるごとに呼んだ方が良いように思う。それと、この設定でどれくらいのパフォーマンス変化があるかは検討を要するところなので、仕事なら事前に評価する必要がある。

Something to say?