Top / 自作ツール / Moblog環境のメールフィルタ

Blog/Moblog環境を構築するのエントリにもあるとおり、Moblogの環境を自前サーバにセットアップしました。が、これだと受信アドレスが分かってしまうと誰でも投稿できる状態で、セキュリティ上どうにかしなくちゃなと思っていました。

ということで、メールの送信者でフィルタする投稿フィルタを作ってみました。このフィルタを用いることで、指定したメールアドレスからの投稿のみ受付け、あとの投稿は拒否することができるようになります。

ダウンロード

よりダウンロードしてください。解凍してMoblogを受信するアカウント(受信アドレスのアカウント)がアクセスできるフォルダにモジュールを解凍しておいてください。

関連モジュールのダウンロード、インストール

受信したメールの解析のため、JavaMail?を使用しています。従って、JavaMail APIJavaBeans Activation FrameworkよりJavaMail? API javamail-1_4_1.zipとJAF(JavaBeans? Activation Framework) jaf-1_1_1.zipをダウンロードします。それらを解凍してできる

をlibディレクトリに配置してください。関連モジュールのセットアップは完了です。

、、、あ、いまさらですが、Javaを用いてますのでjavaコマンドが実行できるようにセットアップしておいてください*1

インストール

通常Moblogの環境をセットアップすると、メール受信アカウントの.forwardに

"| /home/hogehoge/post2blog.pl"

などと書くと思いますが、ここを

"| /home/hogehoge/MailFilter/main.sh"

などとmain.shに標準入力で 変更します。main.shよりメールをフィルタするJavaプログラムが呼ばれるわけですね。またそのsh内で、post 2blog.plの呼出までやってしまうので、main.shの37行目あたりの呼出の記述を

echo -en "$tmp" | /home/hogehoge/post2blog.pl

などとpost2blog.plのパスに書き換えておきます。ようするにメール受信してpost2blog.plに渡される処理のあいだに、main.shをかますような感じで設定します。

環境設定

libディレクトリには必要に応じて以下のファイルを配置してください。

mail.properties
フィルタ例外が発生したときにメールを送信する場合のメールサーバの情報を記述します。このファイルがなかった場合はメール送信を行いません。
whitelist.properties
nu.mine.kino.mail.impl.AddressFilter クラスが参照するメールアドレスのホワイトリストです。ここに書いてあるメールアドレスは通過させます。このファイルがなかった場合は特に遮断処理を行いませんのでご注意ください。
filter.properties
フィルタ処理が記述されているフィルタの実装クラスを指定します。ここで指定したフィルタが実行されます。ファイルがなかった場合などはなんのフィルタも呼び出されません。デフォルトで送信元をチェックするフィルタが指定されているので、通常は編集の必要はありません。

ライセンス

ソースコード取得

TIPS

関連リンク


この記事は

選択肢 投票
おもしろかった 0  
そうでもない 0  

Top / 自作ツール / Moblog環境のメールフィルタ

現在のアクセス:8973


*1 パスを通すくらいですが

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