mail-entry.cgi説明書

このスクリプトを使うと、MovableType(以下MT)へのエントリー登録がメールから行えます。あひるさんが作成されたスクリプト(mail2entry.cgi)に、oshoが改変を加えたものです。画像ファイルを添付することで、画像を含んだエントリーも出来ます。
バージョン0.5.3以降の動作確認はMT3.11で行っています。0.5.2まではMT2.661で確認していました。0.5.3以降もたぶん動くと思います。

現在のバージョンは0.5.3です。(2004/12/4リリース)※0.6.3を公開しています。まだ心配な点が多いため、こちらにはリンクしていません。安定を求める方は0.5.3を、新版の機能が必要な方は0.6.3をご利用ください。こちらからどうぞ。
0.3.6までのバージョンに、エントリーが重複登録されてしまう不具合が存在しています。最新版へのアップデートを強くお勧めしてます。

mail-entry.zipをダウンロードするにはここをクリックしてください。
(Windowsから解凍したフォルダを見ると「_MACOSX」というフォルダと、同名のファイルが含まれていますが、関係ありませんので無視してください。MacOS XでZIP圧縮しているため、Mac独自のファイル情報が含まれてしまうようです。)
Ver.0.3.0以降用の差分ファイルはこちら。ZIP圧縮してまとめてあります。いまのバージョン番号と同じバージョン番号を持つパッチを適用してください。バージョンが古い場合は一つずつ順に適用していく必要があります。0.5.0以降は、パッチが正常に当てられるかどうかのチェックをしていません。改造してる方向けに、バージョンアップポイントをお知らせするのが主な目的となっています。

まずはどんなふうに使うものか説明し、設置方法は後述します。

使い方

    • メール本文の1行目にauthor(投稿者)を、2行目にカテゴリを、それぞれ<>(半角文字)で囲って指定してください。使用するauthorとカテゴリは事前にMTで作っておく必要があります。
    • <extend>と書かれただけの行があると、それ以降の行は追記項目(extend)として扱われますので、必要に応じて指定してください。この指定の前後に文字があってはいけません。また、<>の中の文字は、設定により好みのものにすることが出来ます。例えば<追記>とすることも可能です。
    • "---"と書かれただけの行があると、それ以降の行は無視されます(ダブルコーテーションは不要)。メールの署名の前に書き込めば、署名欄を無視できることになります。この"---"も、設定で好みのものに変えられます。
    • エントリーに画像を付けたい場合は、メールに添付してください。複数枚の画像もOKです。
    • カテゴリを複数指定したい場合は、<カテゴリ1:カテゴリ2:カテゴリ3>という具合に、":"(コロン)で区切って列挙してください。
    • トラックバックを送信したい場合は、3行目に<トラックバック送信先URL>という形で記入してください。複数指定したい場合は、"|"で区切って列挙してください。



    宛先:

    スクリプト内で設定したメールアドレス

    件名:

    メールからエントリー!

    本文:

    <anamizu>

    <Moblog>

    ここに本文を書く

    <extend>

    ここから追記として扱われる

    ---

    これ以降、何が書いてあってもエントリーには反映されない


  1. このメールをmail-entry.cgi用に準備したメールアドレスに送り、mail-entry.cgiをブラウザから開くと、エントリーの登録が行われます。携帯電話のブラウザからでも可能です。
  2. 例の通りのメールを送ると、タイトルが「メールからエントリー!」、authorが「anamizu」、カテゴリーが「Moblog」、本文が「ここに本文を書く」、追記が「ここから追記として扱われる」というエントリーを登録できます。
  3. authorまたはカテゴリーの指定を省略することも出来ます。省略したい方を<>としてください。省略すると、$defaultauthor、$defaultcategoryで設定した値が使用されます。両方とも省略することも出来ます。その場合は1行目からエントリー本文を書きます。


その他、気の利いた機能(自分で言うのも何ですが)

  • author、カテゴリ指定の直後に「題名:」と書くと、その行がエントリータイトルとなります(題名:は除かれます)。メールの件名欄は無視されます。
  • 先頭に空行があると、無視します。携帯電話にひな形を送って・・・とかやるときに重宝します。私の携帯は返信ってやると先頭に空白が入るんですよ。
  • 引用符を取り除くことが出来ます。どの文字を引用符とするかも設定できます。
  • メールソフトが自動改行をするばあい、設定により取り除くことが出来ます。単独の改行が削除され、2つ、3つと連続した改行の場合は最初の一つだけが削除されます。任意に改行したい場合は、今までよりも一つ余分に改行を入れることになります。
  • 上記自動改行の取り除き機能は、携帯電話からのメールの場合は働きません。携帯電話で自動改行は聞いたことがないものですから。
  • mail-entry.cgi?MT4iとして呼び出すと、cgi実行後、MT4iを呼び出すことが出来ます。設定時にMT4iのURLを設定してください。
  • MT自身は対応していませんが、mail-entry独自にGDライブラリによる画像縮小に対応しています。perlで使えないときはPHPから呼び出すといった強引な手段も提供しています。PHPから呼び出すときは、設定時にブログのURLも設定してください。


他にも書き忘れの機能があるかもしれません。思い出したら加えます。

おすすめ記述例


宛先にはもちろんmail-entry用に準備したメールアドレスを記入します。件名は空欄か、何でも良いので適当に書いておきます。私は「投稿」などとしてます。

以下にメールの本文に入力する部分の例を挙げます。
  • 通常のエントリー

    <author>
    <モブログ>
    題名:今日からモブログでいぇいいぇいいぇぃ!
    すんなりmail-entryが設置できて気分が良いぜぃ!(希望)
    ---
    (この辺に署名とかがメールソフトにより書き込まれている)

  • トラックバックを送信する

    <author>
    <モブログ>
    <http://トラックバックURL>
    題名:今日からモブログでいぇいいぇいいぇぃ!
    すんなりmail-entryが設置できて気分が良いぜぃ!(希望)
    ---
    (この辺に署名とかがメールソフトにより書き込まれている)

  • 複数のカテゴリを指定する

    <author>
    <モブログ:日々の記録>
    題名:今日からモブログでいぇいいぇいいぇぃ!
    すんなりmail-entryが設置できて気分が良いぜぃ!(希望)
    ---
    (この辺に署名とかがメールソフトにより書き込まれている)



動作環境

  • perlバージョン5以上
  • crypt関数が使えるサーバーであること。
  • Net::POP3、MIME::Parser、Image::Size、Jcode.pm、CGI、File::Copyの各ライブラリがインストールされて使えるようになっていること。モジュールがインストールされているかどうかはこちらのスクリプトを使用してみてください。中身を書き換えて、いろんなモジュールの検査が出来ます。MIME::Parserが無いことが多いです。
  • 画像の縮小機能を使う場合はImage::MagickかGDが必要です。
  • MT4iへのアクセスでもmail-entryを自動実行する場合と、PHP経由でGDを使用する場合は、WebサーバーがLocationによるURL転送に対応している必要があります。

たぶんこれだけの環境であれば動くと思います。MIME::ParserはMIME::Toolsに含まれていて、MIME::Toolsに含まれる多くのライブラリを必要とします。また、MIME::ParserがインストールされていないレンタルサーバではMIME::Toolsもインストールされていないことが多いようですので、実質MIME::Toolsが必要といったほうがいいかもしれません。Jcodeは、MTの文字コードがUTF-8でなければJcode.plでもいいらしいですが、コードの変更が必要です。自分で書き換えられる方だけどうぞ。

設置前の準備


専用のメールアドレスを用意します。必ず一つ、専用のものを用意してください。エントリーしたメールはどんどん削除されていくので、大切なメールが消えてしまう可能性大です。また、設定ファイルを覗かれてしまうとパスワードが分かってしまいます。危険がいっぱいです。

設置の仕方

  1. まず、mail-entry.zipをダウンロードします。以下のファイルが入っています。
    • mail-entry.cgi  本体
    • mail-entry-config.cgi  設定用cgiです。
    • rebuild_index.cgi mail-entry.cgiが呼び出すcgiです
    • index.cgi mail-entry.cgiの実行を自動化するサンプルです。
    • mail-entry-***.diff バージョンアップ用パッチファイル(***はバージョン番号)
      patch -p0 < mail-entry-***.diff で適用できます。初めて設置する場合は関係有りません。
    • mail-entry-config-***.diff バージョンアップ用パッチファイル

  2. mail-entry.cgiをエディターなどで開きます。windowsのメモ帳では表示が崩れます。改行コードLFに対応したエディターを使用してください。多くのフリーソフトで対応しています。
  3. 1行目に、perlのパスを設定します。プロバイダーや、ホスティング会社の資料を参考にして、設定してください。たいてい#!/usr/bin/perl もしくは、 #!/usr/local/bin/perlです。#!/usr/bin/perl5 -wとすると、複数バージョンのperlが使えるサーバーの場合に、perlのバージョン5を使用することを意味し、-wは、より厳密な構文チェックをすることを意味しています。普通は無くても良いですし、あってもかまいません。エラーになったら-wをはずしてみてください。
  4. mt.cgiのあるディレクトリに、新しくディレクトリを作ります。名前は何でもかまいませんが、以下の説明では仮にmail-entryディレクトリとして説明します。アクセス権は755などで良いと思います。
  5. mail-entry.cgi、mail-entry-config.cgi、rebuild_index.cgiを、mail-entryディレクトリコピーします。アクセス権を700に設定します。700で動かなかったら705、もしくは755にします。
  6. 公開用画像保存ディレクトリを作成します。メールに添付した画像が最終的にここに保存されます。普通はブログのindex.htmlのあるディレクトリよりも下の階層に作ります。アクセス権は777。707でもいいのかな。なるべくきつい設定で。

    この中には、エントリー時の西暦年下二桁を使ったディレクトリが作られ、その中に月を使ったディレクトリが作られます。
  7. 作業用ディレクトリを作成します。mt.cgiのあるディレクトリに作るのが一般的です。こちらもアクセス権は700か707か777。きつい方から試しましょう。
  8. ブラウザでmail-entry-config.cgiを開きます。パスワード欄にpasspassを入力し設定編集にチェックがあることを確認し、ログインボタンを押します。
  9. 設定編集画面になりますので、記述に従って設定をしてください。最後にパスワード欄に再びpasspassを入力し、設定送信ボタンを押してください。「設定を反映しました」と表示されれば完了です。
  10. ブラウザでmail-entry.cgiを開きます。「メールがありません」と表示されれば基本的には正常に動作しています。あとは、メールを送信して、実際にエントリーが登録されるかテストしてください。
  11. 忘れないうちに、バスワードは必ず設定し直してください。設定画面の「パスワードの変更」から行えます。

動作確認レンタルサーバー


ASJとXREAで動作確認しています。
  • ASJではperlのパスを/usr/local/bin/perl5とします。また、MIME::toolsと他にも何か入れた記憶があります。ま、がんばればなんとかなる、ということで。
  • XREAではScriptErrorがしょっちゅう出ますが、正常にエントリーできています。拡張子をxcgにしたほうが動作が軽くなるかと思いましたが、エラーはなくなりませんでした。mail-entry-configの拡張子をxcgにする場合は、ファイル内の$cgi_nameのところも書き換える必要があります。
ロリポップサーバーでは動いたり動かなかったりがあるようです。Ver.0.3.6時点でのものですが、ヨメの見本。さんで設置方法が解説されています。参考にしてください。mamiさん感謝。「ロリポップでmail-entry.cgi。

自動化


一通り動くようになったら、次は自動化の設定です。いちいちmail-entryをブラウザから呼び出すのも良いですが、メールを送っただけで登録されるなら、こんなに良いことはありません。
一番簡単なのは、cronに登録する方法です。使用が許可されていないサーバーが多いでしょうが、使えるのなら使いましょう。こちらのページが参考になります。登録に使うviというエディタの使い方はこらちが参考になります。
cronが使えない場合は、同梱されているindex.cgiを使用します。このcgiは、前回のアクセスから5分以上経過している場合にmail-entryを実行します。
これを使うには、まず、
DirectoryIndex index.cgi index.html
という1行だけのファイルを作成し、.htaccessという名前でindex.htmlのあるディレクトリにコピーします。これは、ブログのURLにアクセスがあった場合に、index.cgiをindex.htmlよりも優先的に開くという意味のファイルです。
そして、index.cgiの一行目のperlのパスと、Setting節を設定して、index.htmlのディレクトリにコピーしてください。アクセス権は700、705、755などです。
.htaccessというファイルが使用できないサーバーの場合は、申し訳ありませんがお手上げです。毎回mail-entry.cgiを手動で呼び出すこしになります。
(実験したことはありませんが、MTのMain Indexテンプレートの出力ファイル名をindex.html以外のものにすれば、必然的にindex.cgiが実行されることになるので自動実行が出来るかもしれません。)

MT4i経由のアクセスでも自動化


太鉄さん作の携帯電話からMTを閲覧するcgi、MT4iはとても便利です。mail-entryに同梱されている「for_mt4i」ディレクトリ内のindex.cgiを使えば、MT4iへのアクセスがあった場合にもmail-entryの自動実行が出来ます。
index.cgiの中を編集して、環境に合わせてください。そしてこれを、mt4i.cgiのあるディレクトリにコピーします。アクセス権は700、705、755などです。
今回は.htaccessは必要ありません。これだけです。

注意事項

  • オリジナルと同じくFrom詐称されると困ります。
  • さらに、authorも自由に指定できてしまいます。大変危険です。
    宛先となるメールアドレスを秘密にする、もしくは定期的に変えるなどの対策をしてください。
  • もしも一つのMTを使用して何人かでMoblogしようと考えるのなら、MTのauthor項目からメールアドレスを読み出して、Fromと照らし合わせるぐらいはしないといけないでしょう。
  • 思わぬバグや実行時のエラーにより、メールが失われる可能性もあります。その場合でも私は責任とれません(とりません)。

改造の目的

  • 「大地震などの災害時に、被災地からの情報発信をどうしたら円滑に行えるか」が最大のテーマです。
    それ故、authorも自由に指定できてしまうようなセキュリティの低いコードになっています。

免責事項

  • このスクリプトを使用することによっていかなる損害が発生しても、責任は負いません。オリジナルコードの作者であるあひるさんはもちろんこのコードとは無関係ですから、責任の負いようがありません。
  • このスクリプトにいかに重大な欠陥があったとしても、作者は修正の義務を負いません。
  • その他、スクリプトの使用者にいかなる損害を与えたとしても、一切の責任を負いません。

ライセンス

  • このスクリプトは実験用コードです。使用による責任はすべて、使用者に発生します。
  • 実験用コードですから改造・再配布は自由です。もっといいものが出来たら教えてください。大変喜びます。

改変履歴

  • Ver.0.5.3
    • 複数カテゴリの指定に対応しました。
    • トラックバック送信に対応しました。
    • 設定編集画面を少しいじりました(絶対パスの表示機能改善と説明文加筆)
    • 改行コードを変更しました。

  • Ver.0.5.2
    • mail-entry設置ディレクトリの自動取得を断念

  • Ver.0.5.1
    • 携帯電話からでも設定が行えるように修正(Thanks 板屋かえでさん)
    • パスワードに使える文字に、記号(半角)を追加しました。一文字一文字チェックして動きましたけど、全部の記号が使えるという自信はないです(汗)
    • 新たに「公開用画像保存ディレクトリのURL」という設定が加わりました。
    • 公開用画像保存ディレクトリ、作業用ディレクトリの指定が、絶対パスへ対応しました。
    • 暗号化パスワード生成時に、サーバー環境によってはエラーの出る可能性へ対応しました(たぶん)。

  • Ver.0.5.0
    • 複数通の画像添付メールを処理した場合に、エントリー内に埋め込まれる画像は、最後に処理したメールに添付されていたものにすべて置き換えられてしまい、添付されていた画像は、正常にエントリーされたもの以外はすべて消えてしまうという不具合を修正しました。
    • GD(グラフィックライブラリ)による画像縮小機能を実装しました。
    • 画像の自動縮小機能を実装しました(サムネイルではなく元画像を縮小します)。
    • エントリー本文のHTMLを任意に設定できるようにしました。
    • メール本文が空白行で始まっている場合は、その行を無視するようにしました。
    • メールソフトの挿入する自動改行を取り除けるようになりました。Entourageを常用するようになったので・・・。
    • 自動改行削除は、携帯電話・PHSからのメールには働かないようになっています。
    • 今までのindex.cgiを使った方法だと、MT4iを使用して携帯電話から閲覧したときにmail-entryを実行させることは出来ませんでしたが、それが可能となる仕組みを組み込みました。
    • メール本文内でエントリータイトルを指定できるようにしました。このとき、メールの件名は無視されます。
    • 引用符の削除(引用符の種類は複数種類指定可能)が出来るようになりました。
    • 設定がブラウザから行えるようになりました。mail-entry-config.cgiを使用します。
    • 動作環境に「perlのcrypt関数が使えること」が加わりました。

  • Ver.0.3.7
    • 数通の画像添付メールを処理した場合に、エントリー内に埋め込まれる画像は、最後に処理したメールに添付されていたものにすべて置き換えられてしまい、なおかつ添付されていた画像は、正常にエントリーされたもの以外はすべて消えてしまう不具合を修正しました。

  • Ver.0.3.6
    • 単純なタイプミスを修正しました。

  • Ver.0.3.5
    • メールの送信日付取得ルーチンを、RFC2822に極力沿うようにしたつもりです。今まで対応していた、日付がひと桁の場合に加え(Thanks 板屋かえでさん)、曜日がない場合、秒が省かれた場合に対応しました。今のところ世界協定時(UTC)との時差は考慮していません。対応予定もありません。
      対応したと言っても、曜日がないなどのメールを送れるメールクライアントが手元にないので、ほんとにちゃんと動作するか分かりません。ソースを読んでここがおかしいと思ったら、教えてください。
    • 件名が無いメールに対応しました。単純に題名のないエントリーとして登録します。題名が無い場合に、かってに無題とかの題名にしたいという需要ってあります?
    • 既エントリー数がゼロの場合にエラーが出る不具合に対処したつもり。実は未チェックです。出来なかったら教えてください(汗)

  • Ver.0.3.4
    • エントリーが重複されてしまう問題に対処しました。
    • カテゴリーが全角文字だと登録できない問題を修正しました。

  • Ver.0.3.3a
    • エントリーが重複されてしまう問題に今度こそ暫定対処しました。かなり強引な手法を用いているため、現在鋭意開発中のVer.0.3.4(予定)にアップデートすることが望まれます。

  • Ver.0.3.3
    • リビルド時間を短縮すべく努力しました。このため、rebuild_index.cgiも変更になっています。でも短くなったか分かりません。
    • 直前のエントリーのタイトルを調べ、登録しようとしているエントリーのタイトルが同じ場合、無視してスキップするようにしました。エントリーが重複してしまう現象への対処です。原因はいまだ不明です。
    • メールの処理順を、メール到着順になるようにしました。

  • Ver.0.3.2
    • 携帯電話からのメールなどで、メールの送信日時が正常に取得ず、エントリーの作成日時が不正になるバグに暫定対処しました。今後、RFCに則ったものにする予定です。

  • Ver.0.3.1
    • メールのdateヘッダを、エントリー作成日時に反映するよう
      にしました。これでエントリーの順番が意図したとおりになると思います。ただし、エントリー個別のIDみたいなもの(URLの末尾の数字)の順番は相変わらず意図に反したものになると思います。
    • 複数メールを処理すると、本文の内容によってはゴミが入る可能性があった
      バグを修正しまた。

  • Ver.0.3.0
    • 追記(extend)も書けるようにしました。
    • 署名欄の自動削除が出来るようになりました。
    • 上記2点とも、板屋かえでさんが改造されたソースを取り込ませていただいたものです。ありがとうございました。

  • Ver.0.2.1
    • 先頭から説明書きを無くしました。
    • Setting節に$to_jcode_resultが加わりました。便宜上、$to_jcodeと同じ場所にあります。ブラウザへの結果表示時の文字コードを指定します。sjisを指定しておけば、携帯電話からcgiを実行するときに便利です。ただし、画像を添付した場合に画像が表示されますので、通信料にご注意ください。
    • エラー表示を改善しました。たいていのエラーはブラウザから見れるようになっています。はずです。エラーを出してないので確認できてません。
    • メールがない場合は、その旨表示するようにしました。(index.cgiなどから呼び出した場合はもちろん表示しません(できません))
    • 画像アップロード用ディレクトリ自動生成がうまくいかない不具合を修正しました。
    • 画像をリサイズするかどうかの設定である$flagresizeが無くなりました。$resize_widthの値を見て判別します。0だとリサイズしません。リサイズしない場合は$reseze_widthに0を設定してください。

  • Ver.0.2.0
    • 更新通知pingを発信できるようにしました。それに伴い、Setting節に$flagpingを新たに設けました。1で発信、0で発信しません。
    • ブラウザからmail2entryを実行した場合の結果表示が、utf以外だと文字化けする問題に対処しました。
    • 2通以上のメールを処理すると、前のエントリーへのナビゲータがうまく付かないことがある問題に対処しました。この問題に対処するため、rebuld_index.cgiも更新されています。でも、メールを送った順番とエントリされる順番が逆転してしまう場合などにはまだ現象が出ます(逆転してしまうのも原因不明)。なお、rebuld_index.cgiへBlogIDをmail2entryから受け渡すようにしたため、今までのようにrebuld_index.cgi内でBlogIDを指定する必要が無くなりました。perlのパス以外はそのままで使えると思います。

  • Ver.0.1.2
    • 画像を保存するディレクトリを、$image_dir/西暦年/月(いずれも2桁)という形にした。
      $image_dirは準備しておく必要がありますが、下層のディレクトリは自動生成します。
    • メール無しの時やその他のエラー時にInternal Server Errorにならないように修正(たぶん)。エラー内容が(ある程度)ブラウザに出力されるようにしました。
    • 設定項目に、新たに$myblog_idを作りました。今まではスクリプト中にmy $blog = MT::Blog->load("1");という形で直接書き込んでいましたが、変数に代入することにしました。これで、バージョンアップ時にはSetting節以降を置き換えるだけで良くなりました。たぶん。
    • 設定項目に、新たに$flagresizeを作りました。$resize_widthで指定した幅より大きな画像を添付したときに、リサイズするかどうかを0か1で示します。0なら「しない」、1なら「する」です。デフォルトは0です。Image::Magickがインストールされていない場合にリサイズしようとしてエラーが出てしまうことに対する対処です。
    • $flagmessageの宣言場所をSetting節から動かしました。バージョンアップの際は、# POP3サーバへのログインの前に、my $flagmessage = 0;を挿入してください。

  • Ver.0.1.1
    • 前回分のエントリーをリビルドしていなかったのを修正。

  • Ver.0.1
    • テンポラリは$mobtempdirに指定したディレクトリを使用します。
      スクリプトが終了すると中身は削除されます。ディレクトリはあらかじめ用意してください。
      ただしこの仕様だと、削除に失敗すると延々とたまっていってしまうので注意が必要です。
      MTの設定を引き継ぐことも可能です。
    • Setting項目に、authorとカテゴリのデフォルトの設定(メールで指定しなかった時に使用)と、タイプミス時の時など、MTに設定されていないものが指定されたときの設定を加えました。
    • Indexのリビルドを最後にまとめてやるようにしました。また、リビルドのコード自体は別スクリプトになっています(rebuild_index.cgi)。


以下に、オリジナルのコードに付属していた文章を掲示しておきます。
説明:
このスクリプトはMovableType(以下MT)にメールからエントリーするためのスクリプトです。
これを使うことによって携帯からも更新が可能になります。つまりMoblog! GJ俺!
使い方:
・$ perl mail2entry.cgi
or
・[entry.cgi]
#!/bin/env perl
print "Content-type: text/html?n?n";
exec("perl ./mail2entry.cgi");
# exec("perl ./mail2entry.cgi > /dev/null"); # 携帯からを想定すると出力は抑えた方が良い
というファイルを作ってメール送信後にアクセス
メール送るだけで更新:
・案1
- cron を使える環境なら、cron に登録するだけでOKだろう。
cron が使えないのなら、
・案2
- DirectoryIndex を index.cgi index.html とし、
[index.cgi]
#!/bin/env perl
use strict;
open IN, "timelog.cgi";
my $before_time = ;
close IN;
my $now_time = time;
open FH, ">timelog.cgi";
print $now_time;
close FH;
if ($now_time - $before_time > 60*5) { # 5分ごとに
exec("perl ./mail2entry.cgi > error.m2e.cgi");
# exec("perl ./mail2entry.cgi > /dev/null");
}
print "Content-type: text/html?n?n";
print exec("cat index.html");
こういうのはどうだろうか。
注意事項:
・画像のアップロード用テンポラリディレクトリとしてMT用の設定を引き継ぎます。
 自動削除してくれるとこじゃないといつのまにかファイルが溜まってしまうので注意。
・添付ファイルはいまのところ画像のみ対応です。画像以外を送るとエラーでると思います(未確認)
 (要望があれば)そのうち対応します。
・認証がメールアドレスのみですので、fromを詐称されると困ります。そのうちパスワードつけます。
Version:
2003/04/20: ver.0.5.0

コメント

  1. こんにちは!
    ネットで、モブログサーフィンしていてこちらにたどり着きました。
    自分でもモブログできないかなーと思っていたところなので、こういうお役立ちツールがあるのは、すごくうれしいです。(^^)
    はじめまして、で失礼しますが、ひとつ質問をさせていただいてもいいでしょうか。
    設定も終わり、サーバーにあげて、実行すると、505エラー(CGI実行エラー)が出てしまいます。me-checkで見てみたところ、parserがないというメッセージがでているので、それが原因かな?と思っていますが今のところ理由はわかりません。MIMEtoolをダウンロードして、MTのextlibにFTPであげて見たのですが、それだけではだめみたいでした。
    MTのなかにそういったモジュールを組み込むのはどうしたらいいでしょうか?(ホスティング会社にインストールを頼む以外の方法では?)そのあたりを少し詳しく説明していただけると、、、とってもうれしいです。すみません、宜しくお願いします!

    返信削除
  2. もぶっちさん、はじめまして。
    そうですねぇ、とりあえずはparserのインストールが先決ですね。MIME-toolsを展開して出来上がったlibディレクトリの中にあるMIMEディレクトリを、extlib直下にコピーすればいいはずです。確証はありませんけど・・・
    さらに、Parser.pmに以下のような記述がありますから、これらのモジュールも必要になります。もしかしたらサーバーにインストールされいてないものが含まれているかもしれません。me-check.cgiをいじってこれらのモジュールがあるか調べてみてください。
    use FileHandle ();
    use IO::Wrap;
    use IO::Scalar 1.117;
    use IO::ScalarArray 1.114;
    use IO::Lines 1.108;
    use IO::File;
    use IO::InnerFile;
    use File::Spec;
    use File::Path;
    use Config qw(%Config);
    use Carp;

    返信削除
  3. もぶっち再び2004年4月27日 5:32

    oshoさん、れす、ありがとうございます。
    上記モジュール、やってみました。
    で、、、
    parser以外は(!)全部認識できてOKなのですが、なぜかparserだけが、見えてるのに、me-checkでもありませんって言われて、実際認識できてないみたいです。
    サーバー側でparserだけ何か制限とかかけているのでしょうか?(って、そんなことできるの!???)
    号泣;;;;;えーん、自前もぶろぐしたいですよぅ。

    返信削除
  4. あらら、どうしてなんでしょう。
    me-check.cgiが実際にどうやってモジュールのチェックをしているのかよく分かってないのでなんとも言えませんが(汗)、たぶんextlib/MIME/Parser.pmが存在していればいいと思います・・・
    parserだけに制限かけるってことは出来ないと思いますけど、どうなんでしょう。うーむ、難題です。

    返信削除
  5. もぶっち再々見2004年4月27日 23:51

    oshoさん、こんにちは。
    PARSERの件、一応、使用していると思しき全部のモジュールを読み込むようになりました。(他にも必要なものがあったみたいです)
    それで、実行したところ、やっぱりエラーになってしまっているので、デバッグ試してみたんですが、
    「ERROR = write-open moblogtmp/msg-3626-1.txt: No such file or directory at extlib/MIME/Body.pm line 414. 」
    となっています。body.pmのほうでは、変数を引いてきているみたいなので、mail-entryのほうをチェックしてみました。多分、129行目、132行目、274行目、432行目の「$mobtempdir」を使っている部分のどこかにえらー元があるのではないか、とめぼしはつけてみたんですが、、、私自身もあんまり詳しくないので、もう少し調べてみます。とりあえず現状のご報告です。

    返信削除
  6. もぶっ再々見2004年4月27日 23:56

    oshoさんこんにちは。
    parser関係は何とか全部モジュールを読み込めるようになりましたが、やっぱりCGIエラーが出てしまうので、デバッグをかけたところ、
    「ERROR = write-open moblogtmp/msg-3626-1.txt: No such file or directory at extlib/MIME/Body.pm line 414. 」
    というメッセージが出てきました。body.pmでは変数を拾ってきているみたいなので、mail-entryのほうで見たところ、129、132、274、432行目にでてくる「$mobtempdir」というのがあやしいのでは???とめぼしをつけてみましたが、私自身もあまり詳しくないので、???でした。引き続き調べてみます。現状のご報告までです。

    返信削除
  7. ParserがOKになりましたか!おめでとうございます。
    エラーは何が原因でしょうね。単純に考えたら$mobtempdirに指定したディレクトリが存在しないか、アクセス権が合ってないか、
    ・・・msg-3626-1.txtというのはParserが出力する、メール解析結果なんですよ。メール本文が入ります。ですから、もしかしたらParserがうまく動いてない、というのも考えられます。
    #テンポラリディレクトリを空にする
    unlink glob($mobtempdir . '/*');
    一度、上記の行をコメントアウト(先頭に#を付ける)した状態で実行してみてください。$mobtempdirにセットしたディレクトリに、mail-entry.cgiが使用したファイルの残骸が残ります。me-***.txtというファイルはmail-entryが、msg-***.txtというのファイルはParserが出力したものです。
    msg-***.txtというファイルにメール本文が入っていれば、Parserはうまく動いていることになります。

    返信削除
  8. もぶっち最初の一歩2004年4月29日 0:12

    oshoさん、度々お邪魔します。
    まず、tempのほうのディレクトリ指定が間違っていました;すみません。。。ですので、それを直しました。
    今日、上記コメントアウトをして、デバッグ&チェックをみたところ、サーバーに「msg-***.txt」と添付したままの画像ファイルと「msg-***.html」という3セットのファイルができています。htmlは、txtファイルにHTMLヘッダやBODYなどの要素が加わったものでした。
    ちなみに、今出ているエラーは、
    「ERROR = Can't call method "path" on an undefined value at mail-entry.cgi line 209. 」
    です。mail-entryを実行するごとに新しい同様のファイルが生成されていることや、メールがないときは、「メールがありません。」というようなメッセージが表示されているところを見ると、PARSERは稼動していると見てよさそうです。
    そして、また、ここで詰まっています。その他、コードなどを特に変更してはいません。
    一時、エラーは出ているのに、やたら、続けてMTのほうには書き込まれていたことがあったので、小さなバグとかそういうのではないかと思うのですけど。。。
    また、進展がありましたらご報告します。

    返信削除
  9. Parserは無事に動き出したようですね。私もなんだかうれしいです。
    >一時、エラーは出ているのに、やたら、続けてMTのほうには書き込まれていた
    これって、
    #テンポラリディレクトリを空にする
    unlink glob($mobtempdir . '/*');
    をコメントアウトしているときのことですか?テンポラリディレクトリを空にしないと、エントリーに失敗したものとして何度でも書き込みますから、コメントアウト中はこういうことが起こって正常です。もしコメントアウトを解除した後だとすると・・・困ってしまいます(汗)
    エラーですが、209行目というと
    unless(-e $outputdir) {
    ですね。どう考えてもエラーになりようがないのです。
    209行目というのがこちらで意図している行と同じかどうかが分かりませんけど。ここでは$outputdirが存在しているかをチェックしているだけなのです。
    お返事が遅くなってしまいましたが、その後進展ありましたでしょうか?

    返信削除
  10. もぶっちご報告2004年4月30日 19:09

    oshoさんこんにちは。
    現状のご報告をさせていただきますね。
    前々日、perlにちょっと詳しい友人が見てくれて、今のところ何とか利用できそうなところまできました。ただし、問題自体は、まだ、解決してはいないので、引き続き調整してみます。もし、コード変更まで検討できたらまた、お知らせしますね。
    えーと、、、
    現状の環境は、、、とりあえず必要と思われるモジュールが他にもあって、それらを入れて、parserが動作するようになりました、というところから。
    問題は、まずMTのエントリーになにか前もって1つ以上の投稿がされていないと、エラーになり、書き込みができていませんでした。重複エントリーのチェックのところで、先のエントリーをチェックしに行く処理が、なにもエントリーがないときに引っかかっているとのことでした。もうひとつは、メールアドレスの正規表現チェックで(私はDoCoMoなのですが)携帯のアドレスとかだとアカウントの部分に迷惑メール対策で「.」とかを使っている場合(私も)、チェックに引っかかってしまい、エラーをはじいてしまいます。
    現状は、とりあえず、1個先に書き込みしておく&メアドチェックをコメントアウトする、というので、書き込めるようになりました。
    このあたりを改善できたら、イケルかもです。
    また、進展がありましたらご報告に参ります。

    返信削除
  11. もぶっち追加2004年5月1日 1:32

    正規表現の件ですが、ドコモやJ-PHONEでアカウントの最初や最後に「.」がつくのは、正規表現でないのでだめらしいです。なので、そういう設定にしている場合は、正規表現チェックをコメントアウトするか(基本的には、mail-enterの中に記載したメアドからしか投稿を受け付けないので、それで、ヨシと思うことにするか、または、メアドの設定を変えるか、らしいです。理由がわかったので納得です。
    あとは、投稿エラーのみ。もう少しです。

    返信削除
  12. エントリーゼロの状態でエラーになるのは盲点でした。なにかエラー処理入れた方が良いですね。こちらでの用途的には問題ないので全然気づかなかったです。ありがとうございます。いろいろとやることがあって早急な対策は出来そうもありませんが・・・
    それより問題なのがピリオド問題ですね。これはちょっと困ります。正規表現でのチェックを省いてしまおうかな・・・
    投稿エラーというのは前述のエラーのことですか?直訳したらpathメソッドがないから呼び出せなかった、ですよね。pathメソッドなんて使ってないのに・・・うーむ。分からないことだらけです。
    動いてるところでは問題なく動いているし、いったいなぜでしょう。cgiって難しいです・・・

    返信削除
  13. もぶっちのココロ2004年5月2日 2:14

    こんにちは。
    えーと、pathのえらーですが、これの原因は、前述した先になんにも投稿がない原因によるエラーだそうです。
    partherなどのモジュールを追って投稿チェックをしていくうちに、その過程で引っかかって、エラーになるので、必ずしも、エラーメッセージ自体が示すことが原因の芯とは限らないそうです。
    なので、たぶん、今の感じだと、先に投稿がない場合、正しく投稿されないのがなおれば、(分岐で、前の投稿がない場合、次の処理に行く等にすれば)解決できるような気がします。
    今のところ、テストでちょこちょこ書き込んで試していますが、(暫定的にPCからメール送信して、とりあえず1個投稿入れて)ちゃんと動作しているようなので、今度は、MTの方のテンプレートとかやってみようかなっておもってます。もし、その間に投稿チェックの件でいい方法とかコードが見つかったら(っていうか、誰かから教えてもらえたら;)ご報告に来ます。ではでは。

    返信削除
  14. お返事が遅くなってしまいました。
    一応なんとかmail-entryが動いているみたいですね。よかったです。Parserを使わずに、普通のレンタルサーバーにあるようなモジュールで出来ればもっと簡単にできるようになるんでしょうけど・・・だれかParserのインストール方法をまとめてくださいという他力本願な状態です(汗)
    バグ回避の方法だけでなく、こんな機能付けましたというのもありましたらぜひ教えてください!

    返信削除
  15. 便利なCGIを有り難うございます。
    ただ一点要望なのですが、件名を入れ忘れると
    投稿日が オール0 になってしまい、エラーが
    起きてしまうようです。
    対応して頂けると嬉しいです♪

    返信削除
  16. kippさん、はじめまして。
    単純ですけど重大なバグ報告ありがとうございます。気が付いていませんでした。携帯電話からだと件名無しでやってしまう場合も多そうですものね。
    すぐに対応というのは最近難しい状況なのですが、なるべく早くがんばります!(最近言い訳じみたのが多いなぁ・・・(汗汗))

    返信削除
  17. はじめまして!
    携帯からのエントリーを考えてたのでこちらでCGIをみつけて感動しました!
    早速ダウンロードさせていただき設定してアップしたのですが僕の設定が悪かったのかうまく動いてくれず、
    お力をお借りできればと書き込まさせていただきました。
    すいません、ほとんどシロートのような人間なのであまりに当て外れなこと言ってしまうかもしれません。
    あらかじめお詫びしておきます。
    症状なんですが、メール送信後mail-entryを実行すると505エラーが出るんです。
    エラーは出るのですがテンポラリーフォルダをみると
    mail-entry.index
    me-・・・・・・.txt
    meg-・・・・・.txt
    の3ファイルができていて、mt.cgiをみると再構築はされてませんがエントリーはされています。
    この状態で再度mail-entryを実行すると今度は505エラーは出ず
    「重複登録かもしれませんので無視しました」
    と出ます。
    この段階でテンポラリフォルダから上記3つのファイルはなくなりindex.htmlが再構築され送信したメールが表示されるようになります。
    エラーをものともせずmail-entryを2回実行すれば再構築されるんでまったく動かないという訳ではないようですがエラーはやはり気になります。
    自分で今把握しお伝えできることはこれくらいなんですがなにか解決のヒントでもいただけたらと思います。
    あ、me-checkはしました。とりあえず必要なモジュールは入っているようです。

    返信削除
  18. アヲキさん、はじめまして。使ってくださる方がちょっとずつ増えているようで、なんだかうれしいです。でも相変わらず実験用コードですけど(汗)
    普段管理画面(mt.cgi)からエントリーするときもエラーが時々出たりしていませんか?
    症状から察するに、再構築中にタイムアウトしているようです。原因は様々ですが、エントリー自体はされているようですから、更新通知pingの受け入れ先の反応が鈍いということが考えられます。といっても、それに対する対処をしてもうちではやっぱりエラーが出ましたけど。
    mail-entryとしては今の状態が正常動作です。Ver0.3.4で組み込んだエラー対策が期待通りに動作していて、私としてはちょっと感動しているところです(笑)
    Mobile-bozuで利用しているXREA.comさんでもよくエラーが出ますので、私も2回実行することがたびたびあります。
    毎回欠かさずエラーが出るようでしたら、テンプレートを自動的に再構築させない、更新通知ping先を変える、などの再構築軽量化対策をしてみてください。以前はBlogRollngが反応が遅いと言われていましたが、今はどうなのでしょうか。Ver.0.3.4でエラーが出ても2回実行すればちゃんとエントリーされるようになったので、原因究明はやめてしまいました。
    また、申し訳ありませがMail-entryの動作軽量化は期待できないです。だれか無駄があったら省いてください~

    返信削除
  19. oshoさま
    さっそくのレスありがとうございました!
    >普段管理画面(mt.cgi)からエントリーするときもエラーが時々出たりしていませんか?
    いまのところ特にそういったことはありません。
    でもmail-entryの動作としてはちゃんと動いているということで安心しました~。おっしゃられてるような再構築対策などいろいろトライしてエラーが出ないようにできるか工夫してみます。
    状況など改善したらまた報告させていただきます。ありがとうございました!

    返信削除
  20. アヲキさん、どうもです。
    あらぁ、普段はエラー出ませんか。mail-entryでは毎回すべてを再構築してるので負荷はかなり高めです。それも一因と思います。
    新規のエントリー単体のみの再構築ならエラーも出にくくなると思うのですが、それがなぜかうまくいかなくて・・・

    返信削除
  21. oshoさま
    アヲキです。
    その後BookMarkletをつかってMTに投稿する際にエラーが出るという症状がでました。なんとなくmail-entryのときとにてるのでちょっと報告させてください。
    適当にサイトを選んで「MTに投稿」、てきとうに文をかいて「投稿」ボタンを押すと
    MT::App::CMS=HASH(0x82fc8b4) Use of uninitialized value at /usr/local/lib/perl5/site_perl/5.005/i386-freebsd/Jcode.pm line 575.
    MT::App::CMS=HASH(0x82fc8b4) Use of uninitialized value at /usr/local/lib/perl5/site_perl/5.005/i386-freebsd/Jcode.pm line 585.
    という内容のものがログイン画面になったその下に繰り返し3回、計6行にわたり表示されています。
    エラーは出ますがエントリーはされています。
    サーバーはレンタルサーバーをつかってましてJcode.pmはあらかじめインストールされてるようです。
    なんかそもそもインストールしたMT自身にも問題あるのかも。日本語ローカライズがうまくいってないとか。再度一からインストールし直してみたほうがいいかもしれませんね。

    返信削除
  22. TrackBackを重複して送ってしまいました。削除お願いします。申し訳ありません。

    返信削除
  23. 柳葵さん、はじめまして!
    パッチ作成ありがとうございます。TrackBackの重複は気になさらないでくださいね。よくあることです。ばしばし重複してください!
    (パッチについてのコメントは柳葵さんのサイトに書いてきました。気になる方はトラックバックを辿って柳葵さんのサイトへどうぞ~)

    返信削除
  24. すみません、初めてのトラックバックに挑戦してみたら誤って2度送ってしまったようです。
    申し訳ありませんが削除お願いいたします。
    改めてはじめまして、mamiと申します。
    えっと、ロリポップで設置できました!というご報告です。
    (ver. 0.36を使わせて頂いてます。)
    これからも素晴らしいツールを期待してます。
    がんばってくださいね(´▽`)

    返信削除
  25. mamiさん、はじめまして。トラックバックの件、気になさらなくて大丈夫ですよ。重複でも文字化けでもなんでも大歓迎ですので。けっこうやってしまいがちなことですしね。
    ロリポップに設置できましたかぁ。おぉ~、すごいー
    サイトを拝見させていただきましたが、けっこう必要なモジュールがありますね。これじゃなかなか大変だ。
    レンタルサーバ会社ごとの設置法をまとめないといけないかな・・・
    mail-entryはバージョンアップするたびに着実にバグを抱え込んでいってますので(汗)、おおらかな気持ちでおつき合いくださいませ(笑) <-- 笑ってる場合じゃない

    返信削除
  26. osho様。 はじめまして、こんにちは。
    mail-entry大変便利に利用させて頂いております。 有用なソフトウェアを公開して下さり、本当にありがとうございます。
    さて要望があるのですが、どちらに書けばいいのかよく分からなかったため、こちらに書かせていただきます。 問題がありましたらご面倒おかけしますが削除してください。
    メールの取得方法ですが、現在popで行われていると思います。 これを標準入力から取得する様にはできないでしょうか。 .forward等でメール到着をトリガーとしてダイレクトにcgiに送りたいのです。
    私事で恐縮なのですが、私の環境の場合その方が色々と都合がいいのです。 もし可能でしたら標準ではなくオプションスイッチ等の方法で対応を検討頂けると大変嬉しいのですが。
    それからソースの文字コードがShift-JISの様ですが、これを別のものに変更しても問題はないでしょうか?
    以上、よろしくお願いします。

    返信削除
  27. AKI ON WEBさん、はじめまして。お役に立っているようで幸いです。
    さて、標準入力からの取得ですから、現在のやり方はモジュールにおんぶにだっこで自分では一切コーディングしていないので、どうしたものかというところです。添付ファイルのデコードなんていったいどうやったら出来るのか・・・
    そういうPerlモジュールが存在していれば話は早いのですけれど、時間がとれず未調査です。POPモジュールに流し込んだり出来るのかな・・・。もしかしたら8月下旬までなにも取りかかれないかもしれません。
    ソースの文字コードは、たぶんなんでも大丈夫だと思います。mail-entryの出すメッセージが化けるくらいだと思います。大丈夫じゃなかったらごめんなさい。

    返信削除
  28. osho様
    コメントありがとうございます。 了解致しました。
    個人的な改造はOKでしょうか? お時間が取れないとのことですので、少し自分でいじってみたいのですが。
    追伸:
    Moblogって結構新鮮で楽しいですね。 久々に楽しませてもらってます。(^_^)

    返信削除
  29. AKI ON WEBさん、おはようございます。
    改造はご自由に行ってください。フリーソフトでもなく、単に実験的に書いたコードを公開しているだけというスタンスですので。
    うまく改造できたらコードを教えて頂けるとうれしいです。自宅サーバで運用している人には有用そうですし。私の知る限りでは、.forwardでmail-entry.cgiをコールして運用しているようです。これを標準入力で渡すことが出来ればシンプルですよね。
    実は私、あんまりMoblogしたことないんです(汗)。なにを撮ったらいいのかピンとこなくて・・・法事の最中をMoblogするわけにもいかず(笑)
    なので使い勝手が良いのか悪いのか、身にしみて分かっていません。もしよろしければ、使い心地なども教えて頂けるとうれしいです。

    返信削除
  30. はじめまして、Fooといいます。
    mail-entryを是非使ってみたいと思い、設置したのですが…どうしても「Internal server error」から逃れられません!
    me-check.cgiや、自分で変更したものを使って、必要だと言われているモジュールである、
    Net::POP3
    CGI
    File::Copy
    File::Path
    File::Spec
    IPC::Open2
    MIME::Base64
    MIME::QuotedPrint
    MIME::Parser
    Net::SMTP
    Mail::Internet
    FileHandle ()
    IO::Wrap
    IO::Scalar
    IO::ScalarArray
    IO::Lines
    IO::File
    IO::InnerFile
    Config qw(%Config)
    Carp
    これらのインストールは確認しました。しかし相変わらずエラーが出てしまいます。パーミッションは755です。これ以外に何が思い当たる原因がありましたら教えていただきたいと思い、コメントさせていただきました。宜しくお願いいたします。

    返信削除
  31. Fooさん、はじめまして。お返事遅くなってすいません。
    Net::POP3とMIME::Parserが動作する環境が構築できているのであれば、あとはディレクトリ指定が、相対アドレスでしていれば絶対アドレスに変えてみるとか、そんなところでしょうか。
    スクリプト中盤から後半あたりにある一時ファイルを削除する部分をコメントアウトしたりすると、一時ファイルの作成までは正常に動作しているのかなどの確認も出来ます。
    &err_output("適当なメッセージ");
    という文を挿入すると、そこで実行が停止されてブラウザにメッセージを表示させることが出来ます。表示されれば、つまりそこまでは正常に動作しているということになります。
    一番最初でつまづくようであればやはりモジュールの不足でしょうか。私の環境ではNet::POP3はすでにあったので、MIME::Parserを動作させるためにMIME::Toolsをインストールしただけで動作しました。
    設置の敷居が高くて申し訳ないです。たいていのサーバーなら動くはずなので、ちょっとずつ確認しながらがんばってみてください。

    返信削除
  32. ゲートウェイを使わずに携帯からエントリーをと考えて、こちらのサイトを拝見しました。
     自分では説明のそってやっているつもりなのですが、
    Script Error
    The script did not produce proper HTTP headers. Please see the error log to see the detail of the errors. Depending on the server configuration, you can also run this script under CGIWrap debugging. Usually, either rename or link the script temporarily to a file which ends with .cgid extension, or add a AddHandler cgi-script-debug .cgi line to your .htaccess file.
    となってしまいました。
    FTPで覗くとmoblogtmpにファイルが三つできていて、メールサーバから取り込んでいるようです。
    そこでme-check.cgiにFile::Path  File::Spec IPC::Open2  IO::Scalar MIME::Base64 MIME::QuotedPrint Net::SMTP Mail::Internetを書き足してチェックしてみました。
    すべて入ってると返答されました。
     次にme-check.cgidとリネームして動かしてみました。
     環境変数の後に
    Changing current directory to '/virtual/xxxxx/public_html/x'
    argv[0] = 'cgiwrapd'
    Executing '/virtual/xxxxx/public_html/x/mail-entry.cgid'
    Output of script follows:
    =====================================================
    Can't call method "id" without a package or object reference at /virtual/xxxxx/public_html/x/mail-entry.cgid line 379.
    と表示されました。(アカウントはxxxxと伏字になっています)
    Xreaを利用しているので念のためxディレクトリ以下において広告非表示でテストしています。
    これで行き詰ってしまっているのですが、アドバイスお願いできないでしょうか。
    読みにくい文章ですみません。

    返信削除
  33. 自己解決しました。
    というより
    テストで送ったメールの投稿者とMTで作った投稿者とが違っていたという私の単純なミスでした。
     昨夜はサーバーの設定だと思い込んでしまって、あのような書き込みをして失礼しました。
     一晩たったらあっけなく原因がわかりました・・・
     すばらしいスクリプトを公開していただいてありがとうございます、ありがたく使わせていただきます。

    返信削除
  34. GASさん、はじめまして。
    解決おめでとうございます。さっぱりわからなくてどうしようかと思っていたところでした。本当に良かった。
    便利に使って頂ければ幸いです。作者冥利に尽きます!

    返信削除
  35. はじめまして。
    mail-entry.cgiを使わせていただいてます。
    重複登録と判定されて、エントリーが無視されるときがあるのですが、エントリーの無視を回避する方法はありますか?

    返信削除
  36. Muttsさん、はじめまして。
    エラーなどで処理が途中で止まってしまうと重複登録が起こったため、この判定で回避するようになっているのですが、その後そうした状況をクリアできるようになってるはずなので、そろそろはずしてもいいかなーと考えております。
    mail-entry.cgiのなかにある以下の行をまるごとコメントアウト(行の先頭に#(シャープ)をつける)すれば、判定自体を行わなくなります。
    # 新規エントリー
    # 直前のエントリーのタイトルと、今回のタイトルが同じなら登録しない
    if (&title_check eq $title) {
    $title = Jcode->new($title,$to_jcode)->$to_jcode_result();
    &result_err("title: $titleのメールは重複登録かもしれませんので、無視しました。");
    $flagmessage++;
    next;
    }

    返信削除
  37. ありがとうございます。やってみます。
    Ver3.7でも大丈夫ですか?

    返信削除
  38. はい、大丈夫なはずです。そのあたりの処理は最近全然いじってませんから(いいんだかわるいんだか)

    返信削除
  39. すみません,はじめてお問い合せをさせていただきます。
    この度MovableTypeをセットアップし,こちらmail-entryを利用させていただきたくセットアップをしています。
    mail-entry-config.cgiにアクセスし,mail-entry設定編集画面にて設定をおこない,最後に設定を保存すると,Internal Server Errorとなってしまいます。
    ・投稿を許可するメールアドレスのみの設定
    ・パスワードの変更
    のどちらも問題なく設定ができるのですが,設定編集ができないのです。
    こういう場合,何処をうたがえばいいのでしょうか?
    初心者のため場違いな問い合わせですと申し訳ないのですが,よろしかったらなにかコメントをいただけますでしょうか?
    どうぞよろしくお願いします。

    返信削除
  40. peaさん、はじめまして。お返事が遅くなりましてすいません。悩んでいました。
    別エントリーへも同内容でご質問がありましたが、こちらのエントリーの方が内容にあっていそうなので、こちらを残して、あちらは削除させていただきます。後から別の人が参照するときに混乱しないようにという措置ですので、ご了承ください。
    ご質問の件ですが、想定していない状況です。エラーが起こるとしたら設定ファイルの保存時ぐらいのものだと思っていたのですが、他の設定は出来ようですし、困っています。他の設定が出来たということは、設定ファイル(mail-entry_setting.cgi)は存在していますよね?中身も正常に書き込まれているでしょうか。項目名が[]で囲まれて、タブを挟んで設定値が書き込まれているはずです。
    それらが正常であるとすると、設定値を保存するための前処理段階でなにかしらのエラーが発生してしまったとしか考えられません。ディレクトリに関する設定以外は空欄でも設定保存自体は出来るようになっているので、もしよろしかったら、以下の方法で原因の絞り込みをしていただけますか?
    まず、ディレクトリ以外で記入式の設定値をすべて空欄にして設定保存をしてみてください。もしそれで保存できれば、今度は上から順番に一つずつ設定を加えながら保存を繰り返してください。エラーが出たところの設定項目名をおしらせ頂ければ、原因になりそうなものを調べてみます。
    それすらもエラーになるようでしたら、ディレクトリの存在確認が出来ないのかもしれません。ディレクトリがすべてちゃんと作成済みで正しく指定してあるのであれば、存在確認部分のコードを取り除くことで対応できると思います。

    返信削除
  41. こんにちは,この度は大変ご丁寧なお返事を有り難うございました。
    二重投稿してしまったようで申し訳ありません。
    今回のトラブルの件,oshoさんにアドバイスをいただいたように,一旦全ての設定値を空欄にした後,1項目入力し,パスワードを入力して保存,という作業を繰り返したころ全て問題なく入力できました。
    原因は全く分からないのですが,ひとまず設定ができましたのでよかったとホッとしています。
    週末になんとも面倒なお問い合わせをしてしまいすみませんでした。
    ただ,その後もまだInternal Server Errorがでてしまい(僕の設定ミスが原因だと思います),mail-entry-config.cgiにて再度設定を行っているのですが,その際,相対パスなら受け付けるけれど,絶対パスを入力するとエラーになってしまうなどの問題も出ています。
    僕の環境が原因なのか,それともレンタルサーバー側に問題があるのか分かりませんが,もう少し頑張ってみようと思っています。
    色々と有り難うございました。

    返信削除
  42. peaさん、こんにちは。二重投稿は気になさらないでください。コメントをいっぱいもらえたみたいでかえってうれしいです。
    どうもディレクトリ関連でエラーが出るようですね。特殊なことはしていないつもりなのですが・・・
    考えられるのは、ディレクトリがあるかどうかのチェックがうまくできていないということです。
    mail-entry-config.cgiに「# ディレクトリ存在確認」という行があると思います。156行目あたりです。そこから168行目まで(「&write_config」の直前まで)を削除するか、その間のすべての行頭に#をつけてみてください。
    こうするとディレクトリ存在確認をしなくなります。これでもエラーが出るか、試してみてください。

    返信削除
  43. oshoさんお忙しい中いつもご丁寧なお返事をくださり有り難うございます。
    mail-entryについてですが,本日先程やっと設置できました。一緒にMT4iも設置できまして,只今幸せなMoblogライフを始めたところです。
    エラーの原因は分からないままなのですが,パスを試行錯誤しつつ入力しましたところ,動いてくれましたので,原因の追い込みはせずにこのまま使わせていただこうと思っています。
    色々とご相談に乗ってくださったのに,フィードバックができずにすみません。
    念のためご連絡しますと,私の環境はステップサーバー社(stepserver.jp)です。ここで独自ドメインにて動かしていいます。
    今回の件,全く問題なく動きましたというご報告だけですみませんが,これで終わらせてくださいませ。
    大変丁寧なマニュアルを作ってくださり有り難うございました。
    またご丁寧なご対応をしてくださり有り難うございました。
    余談になりますが,先程からケータイにて書き込みをしているのですが,もっと画質のよいカメラの付いた機種に買い換えたい気持ちが高まっています。
    しかし楽しいですネ。

    返信削除
  44. peaさん、こんばんは。
    無事に動いてよかったです。最初の設定さえ通ってしまえば、あとからいじることもあまりないでしょうし、万々歳ですね。それでもちゃんと動くという実績がなによりのフィードバックです。ありがとうございます。
    ステップサーバーというのは初めて聞きました。250円でこの内容はいいですねぇ。ざっと見たぐあいではサービス内容も強力ですし、おぉー。
    もし不具合などがありましたらご連絡ください。こういう機能があったら、というのも募集してます。いつの対応になるかは分かりませんけど(汗)
    それでは、モブログライフを楽しんで、mail-entryをガシガシ酷使してやってください!

    返信削除
  45. oshoさんお久しぶりです。 って忘れてますよね。(^^;)
    前に話したmail-entry.cgiの標準入力対応ですが、試しに作ってみました。 暇なときにでも見てやって下さい。
    ではでは。

    返信削除
  46. 覚えてますよー、お久しぶりです。気になって覗いたりしてました。
    ついに出来上がったみたいですね。コード見させて頂きまーす。こういうの、楽しいです。

    返信削除
  47. ここ数ヶ月間立て込んでいたのですが、ようやく落ち着いてきまして、ふと一昨日mail-entry.cgiの事を思い出したのでした。(^^;)
    パッチ見て頂くと分かる通り変更箇所は少ないです。出来るだけパッチの影響が他の部分に出ないように、標準入力からのデータをMIME::Parser通して後はmail-entry.cgi本来の処理に任せているだけです。
    処理自体は簡単ですので、今後しばらくの間問題がないようでしたら次回以降のバージョンで取り込んで頂けると(個人的に)助かるのですがどうでしょう… その際私の書いた部分が気持ち悪かったら書き直していただいても結構です。

    返信削除
  48. こんなに簡単に出来るものなんだなぁと感動しています。標準入力から入れて普通にパースできちゃうんですね。
    ぜひ取り込ませていただきたいと思います。お申し出いただきありがとうございます。自分とこで試せないのが不安ですが、なにかあったらその時はその時でなんとかなることでしょう、と思い込んでます。

    返信削除
  49. ありがとうございます。 取り込み後の動作検証や該当箇所の設置マニュアル作成などはできるだけ協力させていただきます。
    今後ともよろしくおねがいいたします。m(._.)m

    返信削除
  50. そうそう書くの忘れていました。 メールサーバー無い場合でもシェルさえ使えれば簡単に動作テストする方法ありますので書いておきます。 ご存じの場合はごめんなさい。
    1)携帯から普通のメーラー(Outlook等)に写真付きで送る
    2)そのメールをeml形式でエクスポート
     (Outlookの場合は名前を付けて保存みたいです)
    3)出来たテキストをサーバーに送る
    4)perl mail-entry.cgi < hogehoge.eml
    これでメールサーバーから標準入力から受けたこととほぼ同等になります。
    もしシェルが無くても似たことはテスト出来そうですね。
    ご参考まで。

    返信削除
  51. そういえばそうですね、自動でやってくれるか手作業でやるかの違いですものね。なんで気づかなかったんだろう・・・
    これなら困ったときも大丈夫ですね。情報ありがとうございます!

    返信削除
  52. oshoさん、初めまして。
    このたび、mail-entryを導入させて頂きました。
    私は「概要」部分をトップに表示する仕組みをとっているため、「概要」の記入はかなり重要だったんです。なので、一部改変させて頂きました。実際の改変手順などはTrackbackしました[gar vi -f -r now]のエントリーになっています。もしご入り用ならばご覧下さい。
    Cronを利用したときに、Locationが出力されるだけで、実行結果など出力されている様子がないのですが、それは仕様ですかね...?

    返信削除
  53. SASAGARさん、初めまして。
    概要については最近初めて使い方を知りまして、今まではどうやって使うのかなーと言う程度でした。RSSに出してたりするサイトがあってようやく気が付いたのです。
    負荷が高まるわけでもないのでいずれバージョンアップするときに取り込ませて頂こうと思います。せっかく改変部分を公開して頂いてますし。ありがとうございます!
    cronについては自分で使っていないこともありよく分かりません。せいぜいファイルサーバを立てるぐらいの知識しかありませんのです。
    ろ、Locationってなんですか?(汗)<--これぐらい分かってません

    返信削除
  54. oshoさん、こんばんわ。
    早々に返信をいただいていたのに、こちらがお返しできず、申し訳ありませんでした。
    #実はImage::Magickと格闘していたらサーバがダウンしてしまって、復旧に手間取っていました。(汗)
    公開部分はいくらでもご利用下さい。私はPerlの勉強はしたこと無いので、処理的に面倒なことをしているかもしれませんけれども。(汗)
    #PHPは大学で教えていたりしたんですが、ファイル入出力はやったこと無いですし...。
    Cronは実行結果をメールで返してくれるのですが、そのメールに「Location: http://XXXXXXXX.xxx/XXXX/」と言うような転送のための記述しかなく、結果出力をしていたはずなのにおかしいなぁ...と思っていたのです。
    しかし、それも解決です!
    実は今回サーバはカーネルパニックで一切起動できなくなり、マシン自体を移行したのですが、その時にすべてのPerlモジュールを入れ直しました。(当たり前ですけどね...。)そこで、今まで設定をしていなかったために実行されることの無かったImage::Magickを扱う部分の処理で何らかの想定外挙動があり、結果出力を飛ばしてページ移動のコマンドを出力をしてしまった模様です。
    ソースコードを読み解いていないので、どこでどのように処理が飛んでしまったのかは今のところ不明ですが、そのうち読み解いてみようかとも思っています。もちろん、わかったときにはご連絡しますね。
    ちなみに、現在は正常に動作していますよ。
    やっとこさでImage::Magick (PerlMagick)をインストールして、画像処理もできるようになりました。
    #Fedora Core 3のImageMagick (ImageMagick-perl)はapt-getできるなんて...検索かけても全然見つかりませんでした...。(汗)
    #ずっとrpmを探してたんです...。

    返信削除
  55. SASAGARさん、こんばんは。
    Locationは、転送のためのヘッダ出力のことだったんですね。それにしても、なんでそんなことに・・・
    サムネイル生成にGDを使用するようにしているか、引数にMT4iと指定した時にしか転送処理は入らないようにしているつもりだったのですが、どこかおかしいみたいですね。参考までに、URLの末尾に.phpとあったかどうか、覚えておいででしたら教えてください。
    Fedoraはapt-getが使えるので楽ですよねぇ。ただ、すでにFC1はアップデートが途絶えているようなのでサーバー利用している身にはしんどかったり。FC2へのアップグレードをVirtualPCで実験したら失敗したので、アップグレードしないまま時が流れています・・・

    返信削除
  56. osho さん、はじめまして。
    mail-entry.cgi Ver.0.5.3 を利用していて気づいたのですが、mail-entry.cgi 160 行目の 「 or &err_output("ログインに失敗しました")」 は 161行目に持ってきたほうが良いのではないでしょうか? そうしないとログイン失敗時も処理を続けて「メールはありませんでした。」と表示されてしまいました。

    返信削除
  57. masaさんはじめまして。
    なんと!こんなミスがありましたか。160行目でログインしているものだと思いこんでいました。すっかり勘違いしていました。
    ありがとうございます!
    また何か気がついたら教えてください!

    返信削除
  58. 初めまして!「さくらInternetレンタルサーバー」にインストールし、無事動作させることができました。詳しい説明とコメントへのフォローがとても役に立ちました。ちなみにいくつかのモジュールが不足しており、ライブラリの追加が必要でした。さて、お願いがございます。無事インストール後早速、テンプレートをいじっているのですが、どうしてもmail-entry設定画面にある「画像に対しての本文の位置:style」としたHTML文の編集のしかたがわかりません。<cgi_mail_body>や<cgi_comment>をDIV構造タグで挟むだけではダメなようなのですが、この点私は詳しくなく何卒、ご教授お願い致します。何をしたいのかを申し上げますと、それぞれに異なるclass属性を指定してメインインデックスには画像のみを表示させ、本文はdisplay: noneとして非表示にさせたいのです。どうぞ、よろしくお願いします。

    返信削除
  59. 「下書き」状態での投稿も選べるといいなぁ。と思いました。
    メモ書き程度に使う場合に下書きでつっこんどきたかったりします。次回のアップグレードで是非。

    返信削除
  60. soratomoさん、はじめまして。さくらでも使えましたか~。ご報告ありがとうございます!
    さて、ご質問の件ですが、すっごい簡易的な機能なもので、ほんとうにご希望通りのことができるのか分かりませんが、分かる範囲でお答えしてみます。
    styleとした場合のmail-entryの動作は、<cgi_mail_body><cgi_comment>を、それぞれエントリー本文、画像に置き換えているだけです。画像が複数であってもおかまいなしです。
    私はCSSはさっぱりなので当てずっぽうなのですが、classではなくidで指定してみてはいかがでしょうか。
    main indexのテンプレート内でCSSの設定を
    div#main {display:none}
    などとして、htmlには
    <cgi_mail_body>
    <div id="mail">
    <cgi_comment>
    </div>
    とするとか。・・・だめかも(汗)
    試しにやってみたエントリーのソースを表示してみると、どんなふうに設定が解釈されているかが分かると思います。
    すいません、CSS、弱いんです。

    返信削除
  61. cyborg_ninjaさん、こんばんは。
    下書き機能ですが、機能の実装は簡単だと思われます。確かにメモに使う場合にはいいかもしれませんねぇ。
    ただ、実装するとなるとそれをメール内でどう表現するかが悩みどころです。トラックバックと二者択一とかならやりやすいんですけれど。
    それよりなにより、次回のアップグレードがいつになるかが・・・(汗)

    返信削除
  62. oshoさんは、じめまして。
    携帯からエントリしたいなと思い検索にてやって参りました。早速DLしようとしたのですが、解凍すると「未知のzipヘッダ形式です」というエラーが出てファイルが解凍できません。
    こちらの環境がMacOS9なので、そのせいでしょうか?

    返信削除
  63. タロウさん、はじめまして。ようこそいらっしゃいました。
    原因はよく分かりませんが、WindowsXP標準の圧縮機能でZIP圧縮して、アップし直しておきました。もう一度試してみてください。
    うまく解凍できると良いのですが・・・OSXのZIP圧縮って、特殊なんでしょうかねぇ。

    返信削除
  64. こんにちわ。ダウンロードが無事に出来ました!
    僕の場合はOSXで圧縮するとなると圧縮ソフトがついてないのでMaczipを使ったりします。でもめんどくさくて9のStuffIt Expanderでwinとmac用を作るようにしています。StuffIt シリーズが最初から付いてこないのは痛いですね。
    なにわともあれ、わざわざありがとうございます!
    早速試してみようと思います。

    返信削除
  65.  oshoさん、はじめまして。
     おかげさまで、やっと mail-entry の設置ができました。これで京ぽんからもMovable Typeにモブログができます。
     すばらしいプログラム?を提供してくださり、本当にありがとうございました。

    返信削除
  66. かっぱさん、はじめまして。
    トラックバックをいただいて以来、何が原因なのかと心配していました。無事設置完了おめでとうございます!
    配布してる本人はほとんどモブログしてませんが、見習わずにがしがし楽しんでください。

    返信削除
  67.  oshoさん、ご心配おかけいたしまして、申し訳ありませんでした。
     また、せっかくmail-entryが稼働できるようになったのに報告が遅れて申し訳ありませんでした。
     私のモブログ状況ですが、oshoさんを見習って!?最近ごぶさたしております。(^^ゞポリポリ
     京ぽんのもっさり漢字変換だと長文を打つのがつらいんですよね@言い訳(^^;
     暖かくなったらモブログの機会も増えるかな?
     そのときは、mail-entry機能を活用させていただきますね。

    返信削除
  68. 初めまして、モブログにするのに奮闘中のイシカワと申します。
    何度も何度もいくつかのサーバで試しているのですが、ようやくモジュールが全て入っているサーバを見つけ出し(AbleNet)テストも通過しました。
    http://www.scandalboobie.com/cgi/mt/mail-entry/mail2emtry_test.cgi
    が、うまくいきませんでした。
    http://www.scandalboobie.com/cgi/mt/mail-entry/mail-entry.cgi
    ちなみになぜか1,2回は「メールがありません」と出ていたのですが、メール送って試したりしてみると、それ以降2度と動かなくなってしまったのです。
    サーバに問い合わせたところ、文字コードや改行文字やASCIIコードや。。。いろいろ試しました。
    が、だめで、
    Premature end of script headers: /home/scandalb/scandalboobie.com/cgi/mt/mail-entry/mail-entry.cgi
    というエラーが出ています、とのことでした。
    (T_T)どうすればいいのか全くわかりません。ご指導お願いします。

    返信削除
  69. イシカワさん、初めまして。
    私もさっぱり分からないので、検索してみたところ、
    http://sagittarius.dip.jp/~toshi/premature.html
    というページが見つかりました。とりあえず、こちらのページを参考にされてみてください。
    1、2回はメッセージがちゃんと出たというのがなんとも不可解ですが・・・

    返信削除
  70. そのページは確認して試してみましたが、だめでした。。。
    そこで、デバッガをソースの至る所に置いてみたところ、
    $entry->author_id($author->id);
    が実行できずに止まっていることがわかりました。
    そこまでは順調に来ているようですが、このスクリプトの意味もよくわからないので改修のしようが無くて困り果てています。。。

    返信削除
  71. 強引かもしれませんが、上記の行をコメントアウトすると、動作するようになりました。。。
    ただし投稿者、カテゴリは指定できないようです。

    返信削除
  72. すみません!↑、解決しました!
    投稿者を間違えているだけでした。大変失礼致しました。。。
    投稿者を間違えて設定した場合にはメールを送った時点でmail-entry.cgiでInternalServerErrorが起きてしまいますことをここで皆様にご報告致します。
    現在快適に作動中!ありがとうございました。

    返信削除
  73. ひとことお礼が言いたいので、コメントさせてください。
    mail-entryを使わせていただかせております。所々の事情があり、設置に少し苦労しましたがなんとか動作させる事ができました。
    すばらしいcgiをありがとうございます!それでは

    返信削除
  74. はじめまして。
    mail-entry早速使わせていただいています。
    携帯からの送信で新しいエントリーが作成できてとても重宝しており、このようなCGIを公開されていることに感謝しております。
    ところで、自動更新についてのご相談なのですが、MT4iのリダイレクト先とPC用のリダイレクト先をmail-entry-configで設定して、メールがある場合はmail-entryの処理後に、メールがない場合はエラー表示の代わりにリダイレクトさせる方法って無理でしょうか?
    CGIを改造する技術がないので要望という形になってしまうんですが、もしできれば便利なのではないかと思いまして書き込ませていただきました。
    素人の浅はかな考えだと思いますが、もし考慮していただけたらうれしいです。

    返信削除
  75. はじめまして。
    mail-entryを発見し、Perlだ!と意気込んで設置させて頂いております。
    しかし、mail-entry.cgiを実行すると500サーバエラーとなってしまいます。
    パーミッションもしっかり設定しています。
    さくらレンタルサーバですので上記に設置できている方がいらっしゃるのでこちらのミスだとは思うのですが…
    原因がわかりませんでしたので同じような状況の方はいらっしゃいませんでしょうか?

    返信削除
  76. 自己解決しました。
    MIME-tools、MailToolsを入れていたのですが、更にIO-stringyも必要なようでした。
    500エラーは出ず、ログインに失敗したと出るのでいじればなんとかなりそうです。
    他の方の参考となれば幸いです。

    返信削除
  77. メルさん、はじめまして。お返事が大変遅くなりまして申し訳ありません。
    IO-stringyがインストールされていないサーバーがけっこうあるみたいですね。以前もどこかで見かけた気が・・・説明書に加えなければいけませんね。
    情報ありがとうございました。

    返信削除
  78. 度々すみません。
    先日解決したと思っていたサーバーエラーですが、また出るようになってしまいました。
    出るようになったのは6月に入ってから、と考えるとディレクトリのパーミッション関連かと思い、見てみたのですが5月と変わりはありません。
    送るメールも5月で正常にエントリーされていたものを送ってもダメでした。
    もちろん500エラーがでているのでエントリーされていません。
    ファイルのアップロードも出来ていないようです。
    しかし6月用のディレクトリはできていました。
    エラーの思い当たることがないので困っています。

    返信削除
  79. メルさんこんばんは。えーと、ビデオ編集に夢中になっておりまして、お返事遅くなりましてすいませんです。
    エラーメッセージが分かればとっかかりがつかめるのですが、
    http://www.mobile-bozu.com/weblog/archives/000240.html
    こちらを参照してエラーメッセージを取得して頂けませんでしょうか。

    返信削除
  80. ありがとうございます。
    ちょっと伏せますがこんな感じでした。
    Can't locate auto/GD/Image.al in @INC (@INC contains: /home/xxx/www/cgi/blog/extlib /home/xxx/www/cgi/blog/lib /usr/local/lib/perl5/site_perl/5.8.4/mach /usr/local/lib/perl5/site_perl/5.8.4 /usr/local/lib/perl5/site_perl/5.005 /usr/local/lib/perl5/site_perl /usr/local/lib/perl5/5.8.4/BSDPAN /usr/local/lib/perl5/5.8.4/mach /usr/local/lib/perl5/5.8.4 .) at (eval 1) line 726
    mail-entry.cgiでのエラー結果です。
    参考までに5月は正常に動いていました。

    返信削除
  81. はじめまして。mail-entry.cgiにてイシカワさんと同様のエラーになったので”$entry->author_id($author->id);”をコメントにしてみました。
    しかし、ブラウザ上で”エントリーの保存に失敗しました”と出力され、且つapatcheにてエラー(Can't locate auto/Mail/Internet/autosplit.ix in @INC (@INC contains: C:/home/mt/cgi/extlib C:/home/mt/cgi/lib C:/Perl/lib C:/Perl/site/lib .) at C:/Perl/lib/AutoLoader.pm line 146.\r)が出力されてしまいます・・・・・
    何かモジュール等不備があるのでしょうか

    返信削除
  82. MailToolsを再度インストールすることで問題解消しました。しかし、以下点が気になります。何か不備があるのでしょうか? ご教示下さい。
    ・mail-entry.cgiを実行時間を要する。(ブラウザ上でずっと実行されっぱなしになる)
    ・日本語のメールを反映できない・・・

    返信削除
  83. ”日本語のメールを反映できない・・・”は、自分の勘違いでした。お騒がせしました。
    mail-entry.cgiを実行時間が長い(終わらない)は未だ解決せずです。

    返信削除
  84. メルさん、こんにちは。あまりに遅すぎるお返事でごめんなさい。もう見てないでしょうね・・・
    エラーをまじめに受け取ると、GDに必要な何かが見つけられなかったということになります。でも直前まで動いていたのに、どうしてでしょうか。あるとすれば、サーバーのGDがバージョンアップされて、新バージョン用のmail-entryのコーディングが間違ってた、ということくらいでしょうか。自分のところで試せてないので何とも言えないのですが・・・だれか分かる方いませんかー(汗)
    MOTOMOさん、はじめまして。3週間遅れの反応でほんとにごめんなさい。実行時間が長いのは、仕様ということにさせてください(汗)私の所でも終わりません。でもエントリーできているのでまぁいいかと思っています。MTのAPIを呼び出したあとに、CGIがタイムアウトして、再構築の終了を検知できないのかなと考えています。
    そしてhideさん、はじめまして。mail-entryの無事導入おめでとうございます。そして、お返事非常に遅くなりました。申し訳ありません。ご質問の件ですが、手動でmail-entryを実行して、そのまま結果が反映されたのを確認できたら便利、ということですよね?そういえばそうですよね。なんで気づかなかったんでしょう。組み込んでみたいと思います。
    ただ、コーディングの時間が取れないでいるので(コメントすら出来ない・・・)いつになるか分かりません。前にもいくつかちょっとした便利機能の提案を頂いているのですが、なんだったか思い出せないくらい時間が経ってしまいましたし。そのうち存在を忘れられてしまうのでは焦っています。

    返信削除
  85. 「画像に対しての本文の位置:style」に関して質問があります。と入力しても$comment等に置換されるだけで、本文または画像へのパスになってくれません。なにが原因でしょうか?困っています。よろしくおねがいいたします。

    返信削除
  86. graphoさん、こんにちは。
    たぶん、HTMLを書き込んでくださっと思うのですが、コメント欄ではHTMLを禁止しているので、読むことが出来ません。申し訳ありませんが全角文字で記入してください。
    それから、もしかしたらstyle指定はもともとうまく動作しないかもしれません。機能追加した時以降、ほとんどテストをしていないものですから・・・

    返信削除
  87. もうしわけございませんでした.
    <cgi_cgi_mail_body>など指定された文字を入力しても投稿の結果では$commentというように変換されて出力されてしまうと書きたかったのですが.
    それともう一つ,現在はメールアドレスによって認証が行われているようですが,この認証を解除,つまりどのメールアドレスからでも投稿できるようにするには大掛かりな変更が必要になるのでしょうか?
    返事が遅れてしまい申し訳ありません.よろしくおねがいいたします.

    返信削除
  88. はじめまして。こちらのスクリプトを利用させていただきました。(セキュリティの問題もありますので、サイトのURLはこちらでは伏せておきます^^;)
    メールでの画像投稿もうまく行きました。今までは京ぽんのもっさりか、定額外になるV702NK+Opera(8)で投稿していましたが、今後はメールで処理できそうでうれしいです。
    さて、自宅サーバのFedora Core 2に導入したのですが、CPANでMIME::Parserを導入するところでtestの内7つ程が通らずにあせりました。force install MIME::Parserで無理やりインストールしたところ、mail-entry.cgiはなんとか動作しているようです。
    (Perl version: 5.8.3)
    また、mail-entry-config.cgi の実行時、次の2点でトラブりました。
    1. 作成する作業用ディレクトリが、相対パス指定の場合にアクセスできなかった。そのため絶対パスで指定。(MTのインストールディレクトリを /MTHOME としますと、/MTHOME./mobtemp というディレクトリを参照にいっていました)
    2. 最後に設定を書き出しているところで、設定ファイルを書き出せないと怒られました・・・この設定ファイルの書き込み先のパーミッションとオーナーでチョンボをしていました。設定ファイルの出力先もエラーメッセージで表示させてみてはいかがでしょうか?
    #そろそろ我が家のサーバもFC3,4にあげないと・・・
    それから MTの3.1以降だったかと思いますが、run-periodic-tasksというスクリプトをcronで動かし、指定日時投稿の処理ができるようになっていますが、逐次処理でperiodic-tasksと、mail-entry.cgiを実行できるようなシェルスクリプトがあるとcronへの導入も楽そうですね。
    私のところではcronでの起動が重ならないように起動周期を揃えておいて、タイミングを少々ずらすように設定しています。

    返信削除
  89. はじめまして!
    とてもすばらしいCGIに感謝しています。
    無事に設置も済みました。
    ところが、ひとつ困ったことがありまして、メールで添付する画像を本文ではなくて、追記に表示させたいのです。
    styleもいじってみましたが、うまくいきません。
    何か方法がありましたら伝授していただきたく思います。
    お忙しいとは思いますが、よろしくお願いします。

    返信削除
  90. na2miさん、はじめまして。無事設置おめでとうございます。
    ご質問の件ですが、新たに記事を書きましたのでご覧ください。
    http://www.mobile-bozu.com/weblog/archives/000298.html

    返信削除
  91. 初めまして、Fistと申します。
    Mail-entry.cgiは動かせたのですが、サーバーを見たときメールがあればエントリーに登録はされるんですが…
    mail-entry.cgiが読み込み中のまま動きません。
    同じ症状になられた方いましたら対処法をお伺いしたいのですが…

    返信削除
  92. はじめまして、ゆ~きと申します。
    僕はサクラインターネットのレンタルサーバーを利用しているのですが、
    最初MIME::Parserが入っていなくて利用出来ないと思っていました。
    しかしダメもとでレンタルサーバー会社にお願いしてみたところ運良く入れて貰えました!!
    早速使ってみましたが、mail-entry.cgi は非常に便利なスクリプトですね。
    こんなに簡単に画像付きのエントリーができるとは。。
    制作者様に感謝感謝ですw
    ところで、Cronも使えるので自動で読み込みをさせようと思っているのですが、
    なぜかウマく動きません。(自動で動かない。)
    CRONの設定ってmail-entry.cgi を読み込みさせるだけではダメなんでしょうか?

    返信削除
  93. mail-entryを導入にあたって以下確認させてください。
    1.カスタマイズすることは問題ないか?
    2.商用利用することによってライセンス費用が発生するか、無料(フリー)かどうか?
    3.その他連絡しておかなければならないことがないか?

    返信削除
  94. sakaさん、お返事が大変遅くなりました。
    全て自由に使って頂いてけっこうです。
    ただ、こんなものが出来ました〜、とお知らせ頂けたら、うれしいです。

    返信削除

コメントを投稿

zenback

このブログの人気の投稿

iPhone11シリーズは3D Touch非対応に

トランシーバーアプリzelloにオススメの片耳イヤホンマイク

車を運転しながらメモを取る。取れない。