プロが教えるわが家の防犯対策術!

携帯から掲示板に画像をアップできるように機能を搭載したいと思っています。
画像アップ以外の部分は、データベースなどを利用して全て作成済みですが、携帯からの画像アップ方法の処理が思いつきません。

無料サービスなどであるのは、とりあえず画像以外の部分を書き込んで、その後指定されたメールアドレスに画像ファイルを送信すると、アップ完了で書き込んだ記事に連動して画像も見られるというものですが、これの仕組みが良く理解できません。

画像ファイルがメールで送信された場合、上記だとメール送信をトリガーにしてサーバ上のPHPスクリプト(サーバによってはPHPではないものもあるでしょうが)が起動し送信された画像ファイルを格納・パスをデータベースなどに保存しているように考えているのですが、そもそもメールを受信した際に、PHPスクリプトを起動するといったことが可能なのでしょうか?

それとも、根本的に私が考えている仕組みは間違っていて他の方法で処理されているのでしょうか?

ある程度のことはできるようになったとはいえ、まだまだ駆け出しの初心者に良きアドバイスをお願いします。

A 回答 (3件)

こんにちは。


私もブログを作成しようとした頃、既にブログを活用している友人に色々話しを聞くと、携帯から画像メールを指定されたメールアドレスに送信すると、画像をアップできるらしいと、いうのを聞いたので、はて、どうやろうか。と考えたときがありました。

携帯から画像をアップしたことがないので、正確かはわかりませんが、考え方としては単純で「PHPからPOPサーバにメールを受信しにいく」と、いう処理でできると思います。
毎回誰かが画像掲示板を見に来るたんびに、POPサーバにメールや画像があるか確認しにいくのは負荷がかかると思いますので、指定されたメールアドレスにメールを出したあとに画像アップ確認(?)ページにアクセスさせ、メールを受信する処理のPHPプログラムにアクセスすれば、好きな場所にメールに添付した画像を保存できるかと。

たとえば、私ががメールに画像添付させ指定されたメールアドレスに出す。
指定されたURLにアクセスして、画像を確認。「投稿する」というボタンを押す。
画像をデータベースに保存するPHPが動作をして保存・掲載する。

PHPには、imapというライブラリ群があるので受信は比較的簡単にできると思います。
私の場合は、fopen関数でPOPサーバにアクセスして本文やら添付ファイルやらを受信していますが。

もしも、画像添付メールを出しただけで即掲載。というを作りたい場合は、PHPの範囲ではなくなるでしょう。
私がやるとしたら、CかJAVAでSMTPサーバを作って、メール送られてきたら自作SMTPサーバがデータベースに保存。みたいな。

>そもそもメールを受信した際に、PHPスクリプトを起動

なんでもPHPっていうのはちょっと筋違いだと思います。
PHPだと簡単だから。っていうのはあるでしょうけど。
    • good
    • 0
この回答へのお礼

アドバイスありがとうございます。
ご指摘の考え方もありですね!まったく考え付きませんでした、私もまだまだですね(笑)。

メールで送信されて登録完了でなく、1ステップ操作を増やせばPOPサーバにアクセスしてメールを受信という方法もありです。
imap、fopenなど調べて、POPサーバへアクセスしてメールを受信する方法を学習してみます。
ありがとうございました。

追伸)
>なんでもPHPっていうのはちょっと筋違いだと思います。

PHPとしたのは、サーバの設定(レンタルサーバなので自由にサーバの設定・インストールが出来ません)から考えて、PHPが一番いろいろ出来そうだったのでPHPでと考えましたが、必要であればPerlなどでも考えてみます。
いずれにしても、レンタルサーバなので制限はありますが(いざとなったら、自宅サーバを立ち上げるかも・・・)。

色々やってみて、またわからなくなった時はスレッド立てさせていただくと思いますので、その時は宜しくお願いします。

お礼日時:2005/04/14 20:05

>メーリングリストの仕組みがわからないのですが(利用したことはありますが)、「プログラムにメールを渡す」という「プログラム」とは、私の考えているようなPHPやPerlで書いたスクリプトでも可能でしょうか?



sendmail, postfix(qmailは使用した事がないので分かりません)等は、aliasesファイルに以下のような形式で記述すると標準入力からメールをcommandに受け渡します。
ですので、標準入力から読み取って処理を行えるのであれば別にスクリプトでも大丈夫です。
実際、MLプログラムのfmlは、Perlで書かれていますから。

記述形式)
address: "| command"

この説明は、postfix, sendmail等がインストールされているなら、「man aliases」でオンラインマニュアルは参照出来るとは思います。
    • good
    • 0
この回答へのお礼

アドバイスしていただいたように、postfixやsendmail、MLプログラムのfmlについて調べて考えてみます。

サーバの設定(レンタルサーバなので自由にサーバの設定・インストールが出来ません)から考えて、PHPが一番いろいろ出来そうだったのでPHPでと考えましたが、必要であればPerlなどでも考えてみます。

色々やってみて、またわからなくなった時はスレッド立てさせていただくと思いますので、その時は宜しくお願いします。

色々とありがとうございました。

お礼日時:2005/04/14 19:58

質問に対する回答とはならないかも知れませんが。



>そもそもメールを受信した際に、PHPスクリプトを起動するといったことが可能なのでしょうか?

メールサーバにてメール受信時にプログラムにメールを渡すという事は可能です。
この仕組みを利用していものにメーリングリストプログラムがあります。

ただ、画像をメールで送っただけでは記事と対応付けが出来ないでしょうから、メールに記事と対応付けするための何らかの情報を付与してやらないとだめでしょうね。
この辺の実装方式は、メール本文に何らかのコマンドを埋め込むのか、それともメールアドレス(@より前の部分になるのかな)自体に何らかの意味を持たせるとか考える必要があるとは思います。

この回答への補足

あ!そうですね。メーリングリストがありますね。
アドバイス、ありがとうございます。

メーリングリストの仕組みがわからないのですが(利用したことはありますが)、「プログラムにメールを渡す」という「プログラム」とは、私の考えているようなPHPやPerlで書いたスクリプトでも可能でしょうか?

また、その方法を学ぶ情報などは有効なものはないでしょうか?メーリングリスト自体を利用する情報はたくさんあるのですが、メーリングリストプログラムの作成・仕組みなどの情報が見当たらないので。

宜しくお願いいたします。

補足日時:2005/04/14 10:52
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!