[追記]以下のように書いては見たが、実際は携帯から投稿なんかしないし、写真はTwitterとかFlickrとか別の場所にあげるので、結局、モバイルからのアップロード機能はやめてしまいました。
この間、モバイル用のテーマを入れてみようと苦戦したが、本当にやりたいことは携帯電話からサイトを見ることよりも、写真なり文章なりを投稿することだと気がついた。
しかし、携帯から何かをUploadするとなると認証の問題があり、i-mode からではSession管理などが難しくうまく行かないであろうこともわかった。フルブラウザを使ってまで何かしたいとは思わない。
そこで、メールを使って写真なり文章なりを投稿する方法を探した。すると、Mailhandler というモジュールを使えばよいことがわかった。
早速、導入してみたのだが、モジュールを有効にしたとたん、「PHPがIMAP Extensionをサポートしていない」というメッセージがでた。Mailhandler の設定メニューがどこにも無いので、よくみるとモジュールが無効化されている。
MailhandlerのREADMEをみると、The IMAP dynamic extension must be enabled. と書かれている。さくらインターネットのPHPはIMAP extension をサポートしていないようだ。
そこで、いろいろ調べたのだが、php.iniでどうにかなる話ではなさそうなので、考えた末にPHPそのものを自分でインストールしてしまうことにした。
PHPのインストールについては、さくらにPHP5.2.8をインストール に書いた。
IMAP ExtensionをサポートするPHPが動いたところで改めてMailhandlerモジュールを有効にすると、今度はうまくいった。
Mailhandlerの設定については、以下のページを参考にした。
Adding content to site via email
まず、さくらインターネットのサーバコントロールパネルからメール投稿用の専用メールアドレスを作っておく。
上記ページにあるように以下のモジュールもインストールしておく。
http://drupal.org/project/mailhandler
http://drupal.org/project/mailsave (Mailsave と Mailsave to CCK Imagefield を有効にしておく)
http://drupal.org/project/unwrap
http://drupal.org/project/safehtml
次に、管理セクション/サイトの環境設定/入力書式 で efilter という名前で新しい書式を作る。HTMLフィルタ、Safe HTML、URLフィルタ、unwrap filter にチェックを入れた。
管理セクション/コンテンツ/Mailhandler でメールの設定をする。
管理セクション/ユーザの管理/ロールで、email content provider という新しいロールを作る。権限は、imagefield moduleのview imagefield uploads、Mailsave moduleのsave attachments、mailsave_to_imagefield module のconvert to imagefield、node moduleのストーリーコンテンツの作成にそれぞれチェックをいれる。(Mailhandlerでストーリーコンテンツを作成するよう設定している)
モバイル投稿用の新しいユーザを作り、メールアドレスを携帯のアドレスにしておく。email content provider ロールを付与する。