このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

mboxerをcgiで操作できますか?

発言者:GAKI
( Date Monday, June 26, 2000 07:31:30 )


iModeなどの携帯電話メールでサービスされているリモートメールみたいな
ことをmboxerを使ってやってみたいと考えています.

たとえば,mboxerを操作するAppleScriptをcgiにするつもりで,

  on handle CGI
     tell application "mboxer"
       .....
     end tell
     return ...(ここでPOPにとどいているメールのSubjectとFromとSizeを返したい)
  end handle CGI

というような感じで書きたいのですが,returnさせる内容をどう書いていいか分か
りません.

そもそも,mboxerは,こういう使い方ができますか?
できるとしたら,どいうい風にスクリプトを書けばよいのでしょう?

どうぞよろしくお願いします.

田中求之 さんからのコメント
( Monday, June 26, 2000 12:41:44 )

mboxer を使ってブラウザでメールを読めるようにする CGI を組むことは
可能なのですが(実際、私自身、出張中は mboxer を利用した Web メール
システムでメールを読んでます)、スクリプトを組む際には、少し工夫が
必要になります。

というのも、POP サーバからメールをダウンロードする処理は非同期に
行いますので、GAKI さんが書かれたようなスクリプトではメールの確認
は行えないのです。

CGI を組み場合には、メールのチェックやダウンロードなどは定期的に
行うようにしておいて、そのチェックの結果を記録(あるいは HTML  に
展開)しておきます。

そして、その情報へアクセスするという手順を踏む必要があります。

GAKI さんからのコメント
( Monday, June 26, 2000 13:11:25 )

田中 先生 早速のお返事ありがとうございます.

やはりそうですか.

私なりに考えたのは,
mboxerでPOPをチェックしたのち,
post processorでmboxserが返した内容をmail.htmlに書き出させておいて,

  on handle CGI
     tell application "mboxer"
       check mails POP server ....post processer (path to me)
     end tell
     return redirect_heder & "mail.html"
  end handle CGI

というかんじで,returenでmail.htmlにredirectさせるようにさせる.

という方法なのですが,
これだと,post processer 部分でのhtmlへの書き出しが済まないうちにhtmlが
redirectされてしまい,古い内容のhtmlがブラウザに表示されてしまいます.

しばらくしてからmail.htmlを再読み込みさせれば,更新が終わっているので
新しい内容が表示されます.

このhtmlへの書き込みが終了したのを検知して,それからredirectさせるように
するか,あるいは,書き込みにかかる時間を適当に見積もって,その時間待機さ
せた後にredirectさせればいいかな,とも思っているのですが,まだAppleScript
を始めたばかりなので,どちらの方法もやり方が分かりません.

この方針でなんとか解決しそうな機がするんですが,どんなものでしょう?