携帯からメールで飛んできた画像を

サーバ上のディスクスペースに
保存する方法。
メール起点でPHPを走らせる方法。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2004/07/10 23:37:17
  • 終了:--

回答(2件)

id:lovemaker No.1

lovemaker回答回数59ベストアンサー獲得回数12004/07/11 00:51:24

ポイント25pt

http://ns1.php.gr.jp/pipermail/php-users/2002-May/007719.html

[PHP-users 7714] 受信メールデータの取得方法について

【参考】メーリングリストの過去ログ

あなたのアカウントを仮に「kunitz」とします。

メールサーバーはqmail(またはvpopmail)だと思いますが、

仮にqmailとし、メールアドレス kunitz@domain.com に届いたメールを処理します。

(注: vpopmailの場合は /usr/vpopmail/domains/domain.com/kunitz に届きます)

ホームは /usr/home/kunitz/ 受信用のPHPは /usr/home/kunitz/jusin.php とします。

[1] メールからPHP起動する設定

qmailのアカウント設定ファイル「ドットqmail」ファイルに、

パイプラインで受信内容をphpに渡すように設定します。

ドットqmail は /usr/home/kunitz/.qmail-default とします。

-----------------------

shell> echo ’| /usr/local/bin/php -q ~kunitz/jusin.php’ > ~kunitz/.qmail-default

-----------------------

[2] PHPでメールの内容を受信します

if( ( $stdin=fopen(”php://stdin”,”r”) )==true ){

  while( !feof($stdin) ) $DATA[] = fgets($stdin,4096);

  fclose($stdin);

}

これでとりあえずはメールの生データは $DATA に配列として入ります。

あとはメールを一行ずつデコードして行き、Content-Type: が text/plain や text/html なら

テキスト、それ以外なら添付ファイルというように分解していきます。

添付ファイルの Content-Transfer-Encoding: に 64 という文字が含まれていたら

base64_decode() でデコード、 quotedという文字が含まれていたら quoted_printable_decode() で

デコードして、ファイルにバイナリーモードで書き出せばOKです。

あとはメーリングリストの過去ログなどを参考にして、メールのデコードを上手にしてください。

id:kunitz

ありがとうございます!

2004/07/11 00:56:31
id:k318 No.2

k318回答回数2622ベストアンサー獲得回数22004/07/17 01:35:22

ポイント25pt

http://www.vector.co.jp/soft/win95/net/se296419.html

今、こんな感じ(Windows95/98/Me / インターネット&通信)

携帯電話で撮影した写真を全自動・無人運転で Web ページにアップロードしたい、そういう時に使うソフトです。

自分宛に送られてきたメールの内、特定のメールアドレスからのメールだけ添付ファイルと本文を、自動的にインターネット上に公開するソフトとのことです。

id:kunitz

ありがとうございます!

2004/07/17 09:58:04

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません