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