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

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


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

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

よりダウンロードしてください。解凍して、post2blog.pl(Moblogの受信プログラム)を起動するアカウントがアクセスできるディレクトリにモジュールを解凍しておいてください。

***関連モジュールのダウンロード、インストール [#sd3d2f1c]
受信したメールの解析には[[JavaMail>Java/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)とJavaBeans Activation Framework(jaf-1_1_1.zip)をダウンロードします。それらを解凍してできる
-activation.jar
-dsn.jar
-imap.jar
-mail.jar
-mailapi.jar
-pop3.jar
-smtp.jar

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

、、、あ、いまさらですが、Javaを用いてますのでjavaコマンドが実行できるようにJavaをインストールしておいてください。


**インストール [#ka26992c]
通常Moblogの環境をセットアップすると、メール受信アカウントの.forwardに
 "| /home/hogehoge/post2blog.pl"
などと書くと思いますが、ここを
 "| /home/hogehoge/MailFilter/main.sh"
などとmain.shに標準入力で  変更します。main.shよりメールをフィルタするJavaプログラムが呼ばれるわけですね。またそのsh内で、post2blog.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]
-https://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]
***独自のフィルタ処理を組み込む [#p9e4cb6b]



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

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

#comment
#topicpath


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

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS