[[Postfix]]

#contents

*やりたいこと [#ka391e97]
postfix と courier-imapd で、POP/IMAP before SMTP を実現したい。
-postfix と courier-imapd で、POP/IMAP before SMTP を実現したい。
-postfix や courier-imapd にパッチなどは当てたくない。

*構成 [#r0d1f80a]
大筋は以下のような感じです。

-courier-imap で pop/imap の認証が通った接続元IPをデーターベースに記録するようにする
--記録の仕方は courier-imap の起動スクリプトにIP登録用スクリプトを挟むことにより行う
--IP登録用スクリプトは自分で作成
-postfix は接続元IPをデータベースから探して許可されていればリレーを許すようにする。
-上記とは別に登録後一定時間が経過したIPに関してはデーターベースからレコードを削除するようなスクリプトをcronで走らせる。

*設定例 [#d7c84ccf]
+main.cf の smtpd_recipient_restrictions を以下のように変更する。
 smtpd_recipient_restrictions =
     permit_mynetworks
     check_client_access hash:/etc/postfix/allow_clients
     reject_unauth_destination
デフォルトは permit_mynetworks, reject_unauth_destination なので間に POP before SMTP 用のチェックを挟むわけです。

*メモ [#nca12bb3]
どうも Postfix で POP before SMTP をやろうとすると、dracd ってのを使ってるサイトが良く見つかる。でも dracd って Fedora のリポジトリに無いし、仮に使おうとすると dracd はもとより courier-imap へのパッチ当てなども必要になるので使いたくない。

そこで courier-imapd の各デーモン起動スクリプトの修正と、postfix の設定だけでどうにかならんかな、と試してたんだが、Postfix のこと理解したら案外簡単に実現できてしまった。
みんな何で dracd なんて使ってんだよって感じです。



トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS