Blog/Moblog環境を構築するのエントリにもあるとおり、Moblogの環境を自前サーバにセットアップしました。が、これだと受信アドレスが分かってしまうと誰でも投稿できる状態で、セキュリティ上どうにかしなくちゃなと思っていました。
ということで、メールの送信者でフィルタする投稿フィルタを作ってみました。このフィルタを用いることで、指定したメールアドレスからの投稿のみ受付け、あとの投稿は拒否することができるようになります。
よりダウンロードしてください。解凍してMoblogを受信するアカウント(受信アドレスのアカウント)がアクセスできるフォルダにモジュールを解凍しておいてください。
受信したメールの解析のため、JavaMail?を使用しています。従って、JavaMail API、JavaBeans 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ディレクトリには必要に応じて以下のファイルを配置してください。
この記事は
現在のアクセス:8973