• ベストアンサー

メールの自動受信について

メールの処理(?)方法について質問です。 (質問方法がわからないので、誤記あると思いますのでご了承ください。) (言語や仕様についてもプロレベルではありません。) 携帯電話で会員サイトを作成しているのですが、メールの有効性を確かめるのと、画像を投稿する方法を模索しています。 まずサーバー環境ですが、 サクラインターネットのレンタルサーバーです。 選択理由はMySQL、PHPが手軽に使えたので・・・・ ここでの説明ドメイン【abc.sakura.ne.jp】 不正登録を防止する為に携帯の識別番号を使用して認証したいと思い例えば【個体識別番号@abc.sakura.ne.jp】にメールして貰った時に認証を許可しようと考えました。 が・・・・【個体識別番号@abc.sakura.ne.jp】は不特定多数でメール設定していない(架空)のアドレスとなる為リターンされてしまいます。 これをサーバー側で受付する方法はあるでしょうか? また【pics@abc.sakura.ne.jp】と言うアドレスを作成して、そのメールアドレスへ画像データを添付させたメールを送信してもらい、読込する方法(PHPの関数かその他の方法等)があったら教えてください。 なにぶん聞き方すらわからないド素人ですが、是非知恵を拝借したいのでお願いします。

  • PHP
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • public_sa
  • ベストアンサー率52% (13/25)
回答No.2

過去自分の使っていたファイルの極ですが一部 書いておきます。パスなどは随所読み替えてください。 /etc/aliasesに photo: "|user/bin/php /program/php/photo/main.php" と記述します。 すると photo@****.ne.jpにメールが来ると/program/php/photo.main.php のファイルにパイプされます。 main.php <? require_once('analysis.class.php'); $ana = new analysis(); $mailer = new Mailer(); $ana -> set_file(); //一部抜粋END ?> analysis.class.php <? function set_file(){ //メールファイルの標準入力 $handle = fopen('php://stdin', 'r') or die("FILE NOT OPEN"); if($handle){ while(!feof($handle)){ $file[] = fgets($handle); } fclose($handle); //この後$fileを別関数などで解析すればいろいろ出来ます。 } ?> これで$file[]にメールのソースが全て入ります。 あとは1行ずつバウンダリーとか解析して MIMEとかも解析してメッセージとか何でも取り出せます。 当然メールのヘッダーも入るのでTOやFROMも取り出せます。 #1さんの通り画像ならbase64_decode() base64_encode() など使って画像解析などもできます。し 一時ファイル的な画像を作ってImageMagick等使えば加工などもできちゃいます。 メールのソースも定形なので少し勉強して理解し少しの 文字列操作の知識で解析できちゃうと思います。

yu_ray2007
質問者

お礼

public_saさん。 めちゃくちゃありがとうございます。感謝感謝です。 サクラのサーバー仕様は別として、【出来そう】と思えるようになったので本当に感謝しています。 用語教えて貰って検索してみたら更に専門用語の羅列で・・・・・ 今まで他人まかせの部分だったので戸惑いばかりでPHP側に全然手が付けられなくなりました。 ソース部分まで付けて頂いてとてもとても感謝しています。 ちょっと頑張ってやってみたいと思います。 また、さまざまトラブル等があると思いますがアドバイス等を頂けたら嬉しいです。 本当にありがとうございます。

その他の回答 (1)

  • tols
  • ベストアンサー率46% (7/15)
回答No.1

1.メールをPHPに受け渡す(パイプする)まで Sakuraの仕様がわからないので、なんとも言えませんが、メールをパイプしないと、ご希望の動作はできません。 あと、パイプするには、Linuxをコマンドで触れる権限か、深いところに設定ファイルを置ける権限が必要で、かつ、メールソフトに何を利用しているか(qmail, postfix, sendmail)も重要な要素になります(メールソフトによって、記述の仕方が変わりますので) 参考URLは、postfixでパイプする方法です。 2.メールを解読する メールをパースすると言います。 メールがどういったフォーマットで送られてくるのか、1度調べてみると良いかも知れません。 3.画像をデコードする メールで送信されてくる画像データと言うのはBase64エンコードされたものが送られてきます。 Base64デコードして画像として扱って下さい。 補足 私が以前、同じようなプログラムを組んだ時は、本文に可逆暗号化した個体識別番号を埋め込み、送信していました。 この場合、どこまでを個体識別番号として取得するかの判定が難しいのですが…。 以上、長くなりましたが失礼します。

参考URL:
http://gimblog.blog122.fc2.com/blog-entry-1.html
yu_ray2007
質問者

お礼

早々ありがとうございます。 用語どうもありがとうございます。感謝です。 知識が無いので用語もわからず検索すら出来ない・・・質問もこんな感じになってしまってました。 でも、tolsさんの回答で少しは検索に幅持たせる事も出来ると思いますし、質問ももう少し具体的に出来ると思います。 取りあえず検索してみて色々調べてみます。 何か補足や注意点がありましたら是非アドバイスください。

関連するQ&A

  • 空メール受信時のphp起動

    さくらインターネットのメール受信にて.mailfilterを使ってphpを起動しています。 この方法ではメールアドレスは特定されていますが、不特定のメールアドレスでphpを起動したいのです。 たとえば現在時刻(2010年1月11日)を使って空メール送信先のメールアドレス20100111@sakura.ne.jpを決定します。しかしもちろんこの時点でこのメールアドレスはメールサーバに登録されていません。サーバ側では受信したメールアドレスのアカウント名(20100111の部分)によって処理内容を決定したいのです。どうすれば出来るのでしょうか? ※試しに20100111@sakura.ne.jp宛てに空メールを送ってみると送信エラーになります。

    • 締切済み
    • PHP
  • 個体識別番号=メールアドレス

    機械に疎くよく分からないので教えてください。 あるサイトを見ていると、自動的に入会させられてしまいました。 個体識別番号に驚いて、他に何も見ずに接続を切ってしまいました。切ってから不安になり、いろんなサイトを見て無視していれば良いということが分かりました。 ですが、気になったのは、同じような経験をされた方にメールが届いているということです。個体識別番号はメールアドレスとは違いますよね?メールアドレスは分かってしまうものなのですか?あと、相手から何か反応が合った場合、サイト名や金額など何も覚えていないのですが、相談センターに行っても意味ないですよねー?

  • 教えて下さい(不当請求)

    はじめまして。よくIPアドレスや個体識別番号から個人情報は分からないと聞きますが、IPアドレスや個体識別番号からメールアドレスや携帯の電話番号などは分かってしまうのでしょうか? もちろん、警察や裁判所以外でです。

  • プリンターへのメールサーバーの設定

    (1)プリンターのネットワークの接続についての確認 (2)メールサーバーの設定のやり方 (3)認証方法とは?どこに聞くのですか? (4)認証アカウントとは?どこを見るのですか? (5)認証パスワードとは?どこを見るのですか? (6)送信元アドレスとは?自分のメールアドレスですか (7)SMTPサーバーアドレスとは?どこに聞くのですか? (8)SMTPサーバーポート番号?どこでわかりますか? (9)POP3サーバーアドレス?どこでわかりますか? (11)POP3サーバーポート番号とは?どこでわかりますか? ※OKWaveより補足:「ブラザー製品」についての質問です。

  • PHPでスマートフォンの個体識別番号を取得

    初めまして。 PHPでスマートフォンの個体識別番号を取得したいと思っているのですが、PHPで取得することはできますでしょうか。 できるようでしたらその方法をご教授お願いできないでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • メールが送れない・受信できない

    知り合いのアドレスが電話番号でドコモです。 サーバーが何とかでメールが送れません。 ○○○○(英数字)携帯番号@ドコモとなっています。 メールが送れるようにするには、どうすればいいですか?

    • ベストアンサー
    • au
  • iアプリからブラウザを起動時に個体識別番号を送りたいのですが

    卒論で、認証iアプリを作成しています。 アプリを開くと、個体識別番号が表示されます。 そして、指定したURLに飛ぶと、 URL先にも、個体識別番号が表示される。 そういった、プログラムを作成しているのですが、 URL先に、個体識別番号が送れないのです。 わかる方、返答願います。

  • PHPメールフォームからの受信に、自動返信したい。

    今自分の作成した「お申し込み用のメールフォーム」がレンタルサーバー上にあります。 もちろんフォームに入力して送信ボタンを押していただいた「おなまえ」や「メールアドレス」はメールで私に届きます。 実は入力していただいた「メールアドレス」宛てに、「お申し込みお受けしました。」というメール文面を自動返信したいのですが、プログラミングで可能でしょうか・・・ サーバーには拡張子がphpのファイルがあり、編集できる状態です。 レンタルサーバーでは、メールソフトからのメールに対しての自動返信は可能ですが PHPメールフォームを活用しての自動返信はまだ作成対応できていないらしく、なんとか自力で実現するしかない状況です。 もしも可能でしたらお教えながえないでしょうか 。 こちらのカテゴリで良いのかも自信ないですが よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPでWEBメールを受信

    今月からPHPを触りはじめました。 WEBメールを送受信するシステムをPHPで作成したいと思っています。 SAKURA internetというメールサーバを利用していて 送信したメールはそのサーバに受信されます。 そのメールの内容を WEBサイト上で確認できるようにしたいのです。 gooやyahooなどのフリーメールのように インターネット上でメールの送受信を行いたいのです。 この実装のために必要な技術、知識等のススメがあれば教えてください。 メールサーバにどうにかして接続して、 情報を読み取り、IE等に表示させるのかなぁ、とイメージしています。 ただその「どうにかして」が全く想像つきません。 WindowsXP、PHP4.4.2以降、Apache、MySQLで制作予定です。

    • ベストアンサー
    • PHP
  • メールが受信できません

    アウトルックエクスプレス5を利用しています。 2日ほど前から、受信ができなくなりました。繋がるのはつながるんですが、 右下のほうに、「接続中」と表示され、その後普通なら「認証中」→「メールの受信中」と表示されると思うのですが、 「接続中」のまま反応がなくなります。 なぜ受信できないのでしょうか? ちなみに、4日ほど前に、プロバイダーの接続ポイントのアクセス番号とDNSサーバーアドレスが変わり、接続の設定は直しました。 困っています。よろしくおねがいします。