- ベストアンサー
ブログのメール投稿に関して教えてください
皆さん教えてください いまブログシステムを構築しているのですが いわゆる携帯電話からのメール投稿で、はまっています OS:linux redhat系 言語:perl5.6系 問題点 携帯電話からメールでのブログ記事投稿が行われた場合に どのタイミングでメールの内容を、ブログの記事として反映させるのかが分からない (本来ならリアルタイムで行うべき?) 大手のブログサイトの技術をできれば真似したい 必要な事柄があれば知りたい 現状の出来上がっている仕組み あるperl(CGI)を実行することで、メールをブログ記事として反映させる 1.POP3Clientでメール内容を取得 2.メールのfromを判別して内容を、ユーザのブログに反映 3.メールを削除 制限 メールは諸事情により1アカウントしかない よってメールをユーザ別で特定するにはfromを参照するしかない 反映のタイミングにとても困っています 皆さんのお知恵をお貸しください 宜しくお願いします
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
メールサーバだけじゃなく、ブログのおいてあるサーバもISP側ということですか?基本的にconも使えないってことですね。読み違えてました。 CPANにSchedule-Cronというモジュールがありました。 http://search.cpan.org/~roland/Schedule-Cron-0.97/ cronのように動作してくれます。(使ったことありません) ISPによってはこういう常駐するプロセスは禁止しているのでご注意(積極的にOKにしていなければ禁止と考えたほうがよいです。ISPに問い合わせてみてください。)。間違っても暴走させることのないようにローカルで十分にテストしてから使ってくださいね。 あるいは、 ブログ全体の性能が落ちるけど、トップページを表示するときは必ずメールサーバに読みに行くとか。
その他の回答 (2)
- panerai777
- ベストアンサー率34% (9/26)
ある特定のメールアドレスをプログラムに食わせるようにすれば、リアルタイムに反映できると思います。 メールサーバに何を利用されているか存知あげませんが、qmailだと 簡単にできます。 .qmailを使います。 たとえば、hoge@fuga.comにメールをおくるとすると、 .qmail-hogeとして、中身を | /home/db_insert.pl みたいに記述さえすれば、/home/db_insert.pl が動きます。 このdb_insert.plでメールをパースし、データをいれればよろしいかと。 セキュリティを考えて、本文にキーコードを入れるようにしたり ちょっと工夫しないと、即効スパムの餌食になってしまうので、注意が必要です。
補足
回答ありがとうございます メールサーバはqmail以外にも対応したいので ある特定のメールサーバだけというわけには行かないのです また以下の意味がよくわかりません これはメールの本文に記述するという意味でしょうか? それともqmailのなにかの設定でしょうか? (メールサーバに関しては詳しくないので。。) >.qmail-hogeとして、中身を >| /home/db_insert.pl >みたいに記述さえすれば、/home/db_insert.pl が動きます。 回答で少し希望がみえたのでもう少しガンバッてみます ありがとうございます
- 10940
- ベストアンサー率21% (41/187)
メール投稿のブログを1度使ったことがある程度ですが、普通反映までは5分~10分かかるのではないでしょうか。 つまり、cronで5~10分ごとにメールをブログに反映させる処理を起動しているのだと思われます。 大手ブログサイトならシステムの負荷を考えなければいけないのでそれ以上の頻度では行わないと思います。メールが送られたことをブログが知るためには、ブログが能動的にメールサーバへチェックしにいかなければいけません。5~10分がいいところだと思います。1分ごとにチェックなんてのは過剰サービス(オーバースペック)です。 あなたがメールサーバも自前なら何分間隔でもよいのですが、たぶんメールサーバはISPのものを利用しているので、10分間隔くらいがよいと思います。 急ぐ人のために、ブログにメールをチェックさせるボタンかなにか作ってもよいかもしれませんが、必ず連打する人っていますし・・・。
補足
回答ありがとうございます サーバ運営会社が諸事情により技術的に劣るので、 なるべくサーバの機能には頼らない方法を模索中でございます ですが最終的にはcronで行う必要があるのかなとも思っております もちろんcronの実行タイミングは15~30分程度と考えております (負荷テストで実行タイミングを図る)
補足
回答ありがとうございます 言葉足らずで申し訳ありません おっしゃる通りメール、ブログすべてISP側ということになります 要はレンタルスペースにブログを設置して、動かそうという試みなのです 諸事情でそのレンタルサーバ(2社)はともにサポートが悪いのです (モジュールのインストールすら、まともにできないなど。。) なので最低限での実装を目指しているのです >ブログ全体の性能が落ちるけど、トップページを表示するときは必ずメールサーバに読みに行くとか。 心苦しいのですが、以上の方法しかないかと考えています タイミングは現時点ではあるページ(ブログページ/管理ページ)を 表示したときに、該当する時間(前のメール取得から時間が経過していた場合)と考えています ある程度開発が落ち着いたら、もっとサポートやスペックのよいレンタルサーバを借りようかとも考えています その際にはクーロン&メールサーバの機能で実現しようかと考えています