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

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


**ダウンロード [#j2bf92b0]

-[[MailFilter.tar.gz(V1.0.0_20080609_01)>http://www.masatom.in/cgi-bin/viewvc.cgi/tags/V1.0.0_20080609_01/MailFilter.tar.gz?root=Others&view=tar]]

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

***関連モジュールのダウンロード、インストール [#sd3d2f1c]
受信したメールの解析のため、JavaMailを使用しています。従って、[[JavaMail API>http://java.sun.com/products/javamail/index.jsp]]、[[JavaBeans Activation Framework>http://java.sun.com/javase/technologies/desktop/javabeans/glasgow/jaf.html]]よりJavaMail API javamail-1_4_1.zipとJAF(JavaBeans Activation Framework) jaf-1_1_1.zipをダウンロードします。それらを解凍してできる
-activation.jar
-dsn.jar
-imap.jar
-mail.jar
-mailapi.jar
-pop3.jar
-smtp.jar

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

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


**インストール [#ka26992c]
通常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をかますような感じで設定します。


***環境設定 [#j9cf56c3]
libディレクトリには必要に応じて以下のファイルを配置してください。
:mail.properties|フィルタ例外が発生したときにメールを送信する場合のメールサーバの情報を記述します。このファイルがなかった場合はメール送信を行いません。

:whitelist.properties|[[nu.mine.kino.mail.impl.AddressFilter>http://www.masatom.in/cgi-bin/viewvc.cgi/tags/V1.0.0_20080609_01/MailFilter/source/nu/mine/kino/mail/impl/AddressFilter.java?root=Others&view=log]] クラスが参照するメールアドレスのホワイトリストです。ここに書いてあるメールアドレスは通過させます。このファイルがなかった場合は特に遮断処理を行いませんのでご注意ください。

:filter.properties|フィルタ処理が記述されているフィルタの実装クラスを指定します。ここで指定したフィルタが実行されます。ファイルがなかった場合などはなんのフィルタも呼び出されません。デフォルトで送信元をチェックするフィルタが指定されているので、通常は編集の必要はありません。



**ライセンス [#mf64350f]

**ソースコード取得 [#fdb36d50]
-http://www.masatom.in/svnsamples/repo/trunk/MailFilter/
-[[Index of /trunk/MailFilter>http://www.masatom.in/cgi-bin/viewvc.cgi/trunk/MailFilter/?root=Others]]


**TIPS [#e10b9e29]




**関連リンク [#d3b787ad]
-[[Moblogの構築関連で最近更新した情報 - Kino's Blog>http://www.masatom.in/kinoblog/archives/2008/05/moblog_1.html]]
-Blog/Moblog環境を構築する

----
この記事は
#vote(おもしろかった,そうでもない)

#comment
#topicpath


SIZE(10){現在のアクセス:&counter;}


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