Moblogとは †Moblogというのは、携帯メールや普通のメールソフトからBlogを更新するためのサービスです。仕組みはあるメールサーバがあって、そこにメールが着信したらBlogサイトに更新のためのXML-RPCリクエストを発行するというモノですね。XML-RPCを発行するためのメールサーバや、リクエストを発行するというのはサービスとして色々提供されていて、有名どころでは なんかがあります。 ちょっとこれらのサイトを利用させていただいていたのですが、自前のサーバにメールサーバを稼働させたことをきっかけに、自分でMoblogサービスを構築してみようと思いました。以下そのメモです。 つくってみた環境 †環境としては、自前のメールサーバにMoblog用のアカウントを作成し、そのメールサーバから、自前のWEBサーバにXML-RPCを投げるって感じです。メールサーバにメールが到着したらXML-RPC発行するって処理は、jm@foo: moblogにpost2blog.plというすばらしいスクリプトが配布されていましたので、それを利用させていただいています。 メールアカウントの作成 †まずはメールアカウントを作成します。メールアカウントは、ばれてしまうとスパム投稿されてしまうため、わかりにくいアドレスにする必要があります。 useradd hogehoge -g postfix アカウントを作成したので、メールが送受信できることを確認しておきましょう。 MIME::Parserのインストール †post2blog.plを使用してみたらうちの環境はどうもMIME::Parser がインストールされていないらしくエラーになってしまいました。つうことでMIME::Parserをインストールします。 yum install perl-CPAN perl -MCPAN -e shell cpan shell -- CPAN exploration and modules installation (v1.7602) ReadLine support available (try 'install Bundle::CPAN') cpan> install MIME::Parser これでインストールされました。 post2blog.plのインストール †post2blog.plのインストールと環境設定を行います。jm@foo: moblogよりpost2blog.plをダウンロードし ~/hogehoge *1に配置しておきます。 次に環境設定です。post2blog.plを開いて、jm@foo: moblog にあるとおりに設定しましょう。 メールが来たら、post2blog.plを起動する †環境は整いました。残りは、メールが来たらpost2blog.plを実行したいのですが、そこはメールサーバにやってもらいます。具体的にはさきのアカウントのホームディレクトリに .forward というファイルを作成します。これはメールを転送するときに使うと思ってたのですが、プログラムを起動することもできるんですね。.forwardの内容は以下の通りです "| /home/hogehoge/post2blog.pl" このようにパイプしてpost2blog.plへのフルパスを書いておけば良いです。 セットアップは以上です。実際にさきのメールアドレスにメールを送信すると、メールを受信したメールサーバが.forwardによって処理をpost2blog.plに渡し、post2blog.plがXML-RPCを発行して指定したBlogを更新してくれます。 実際これだけで、単純なメールの投稿や、写真を添付したメール投稿(添付した写真はアップロードされて、さらにimgタグなどが追加されるなどが正しくBlogに更新されることを確認できました。 このスクリプト、すげー。作者様に感謝ですね。 GPS情報付の写真を投稿したら、GoogleMap?へのリンクを作る。 †これについてはPerlのスクリプトでやるんでなく、MovableType?のプラグインとして機能を実装されているようですね。 関連リンク †mt-xmlrpc.cgiの仕様ってあんまりネットに説明がないですねー、ちょっと場違いですがここにリンクまとめておきます
この記事は 現在のアクセス:6764 |