最終更新:2009-08-27 (木) 03:06:42 (5350d)  

Postfix
Top / Postfix

インストール

/etc/init.d/sendmail stop
chkconfig sendmail stop
yum install postfix
alternatives --config mta
chkconfig postfix on

設定

/etc/postfix/main.cf
myhostname = mail.example.com
mydomain = example.com
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
home_mailbox = Maildir/
message_size_limit = 10485760

SMTP-AUTHの設定

smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination

Maildirのスケルトンの作成

mkdir -p /etc/skel/Maildir/{new,cur,tmp}
chmod -R 700 /etc/skel/Maildir/

バーチャルホスト

バーチャルユーザーの設定

/etc/postfix/virtual
//hoge.com用設定
hoge.com 設定名
user1@hoge.com UNIXユーザ名
user2@hoge.com UNIXユーザ名
//huge.com用設定
huga.com 設定名
user1@huga.com UNIXユーザ名
user2@huga.com UNIXユーザ名

設定の反映

postmap /etc/postfix/virtual
/etc/init.d/postfix reload

OP25B対策

サブミッションポートの有効化

/etc/postfix/master.cfの
submission inet n       -       n       -       -       smtpd

の行のコメントアウトを外せば良い。

OCNの場合

  • Postfixを使用していてプロバイダがOCNの場合、Submissionポート(587番)の中継用SMTPサーバに転送する必要があるが、SMTP-AUTH時にPostfixがデフォルトでMAIL FROM: に"AUTH=<>"を付加するため、「said:555 Unsupported option: AUTH=<> (in reply to RCPT TO command)」と拒否されてしまう。
  • 対策としては、PostfixにパッチをあてMAIL FROM: に"AUTH=<>"を付加しないようにするか、条件付で外部でSMTP中継をしてくれるサービスがあるのでそれを使用する方法もある。

http://www.aconus.com/~oyaji/mail2/op25b.htm

コマンド

  • postfix
    • メールシステムの 活動を制御します。メールシステムの起動や停止、その他いくつかの 管理操作のためのインターフェースです。このコマンドはスーパーユーザ 専用です。
  • postalias
    • alias データベースを保守します。 これは newaliases コマンドの裏で 動くプログラムです。
  • postcat
    • キューファイルの中身を表示します。これは制限された、予備的な ユーティリティです。このプログラムは キューファイルの 編集もできるような、よりパワフルな何かと置き換えられることに なるでしょう。
  • postconf
    • main.cf パラメータを表示します: 実際の値やデフォルト値、 デフォルトでない設定のパラメータなど。これは制限された、予備的な ユーティリティです。このプログラムはリストするだけでなくmain.cf ファイルの編集も可能な、よりパワフルな何かと置き換えられることに なるでしょう。
  • postdrop
    • メールを maildrop ディレクトリに置くために、 sendmail コマンドによって起動される メール投函ユーティリティです。
  • postkick
    • 例えば シェルスクリプトなどの中で使うことができる内部通信チャネルを作ります。
  • postlock
    • 例えば シェルスクリプトなどの中で使われる Postfix 互換のメールボックスの ロックを提供します。
  • postlog
    • Postfix 互換のログ出力をシェルスクリプトに提供します。
  • postmap
    • canonical や virtual 他のような Postfix 検索テーブルを 保守します。UNIX -makemap コマンドの従兄弟です。 The postqueue コマンドは メールキューをフラッシュしたりリストしたりするために、 sendmail コマンドから起動される ユーティリティです。
  • postsuper
    • キューを保守します。古いテンポラリファイルを削除し、 キューディレクトリのハッシュ深度の変更後に、キューファイルを 正しいディレクトリに移動します。このコマンドはメールシステムの 起動時に実行されます。