• 締切済み

PHPで送られてきたアドレスに自動返信する方法

お世話になります。 現在PHP+Mysqlを使って簡単な会員制でログインができるサイト(仮想サイト)を作っています。 その中で、特定のメールアドレスにアドレスを送ると、 (POSTで送られてくる情報をmb_send_mailで送信するようにしています。) IDとPWが自動的に返信されるプログラムを作りたいと思っているのですが、調べてみたのですがよくわからなかったので、書き込ませて頂きました。 phpで自動返信させるのに、現在分かっているのは、 ・メールを受け取るユーザーを作成する ・.forwardでどこかへ転送する くらいです。 最終的にはMysqlと連動させるものを作りたいのですが、ひとまずは送られてきたものに自動返信する、というものを作りたいです。 全然理解ができていないので、わかる方いらっしゃいましたらご教示願います。 よろしくお願い致します。 ローカルの環境は osはwindows xampp version2.5 です。

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

みんなの回答

回答No.1

ブラウザからのきっかけで、PHPを動かすのではなく、 メール受け取ったのをきっかけにして、PHPを動かしたいということですね。 2通り方法があって、 ・メールを受信するメールサーバーの .forward や.qmailを使って、 そのサーバー上にあるPHPプログラムに、受信したメールをパイプさせる。 (PHPとしては"php://stdin" から読み込み、メールの解析を行って必要な処理を行う) ・サーバーがUNIXやLinuxならcron、Windowsならタスクスケジューラというのを使って、PHPを例えば15分に一回とかで定期実行し、 そのPHPが、特定のメールアカウントからPOPでメールを取り出して、そのメールの内容を1件ごとに解析したうえで必要な処理を行い、POPサーバーから削除する。 前者のメリットは、メールを受け取った瞬間にタイムリーな処理が行えるのと、POPサーバーからのメールの取り出し/削除/二重取り出し防止ロック/POPサーバーとの通信エラーやタイムアウト制御/1回のPOPで複数のメール/スプールの容量制限/などの処理を考えなくてすむ点です。 後者のメリットは、メールサーバー以外の場所でPHPが動かせる点です。

関連するQ&A

  • .forward でphpに渡し、自動返信させようとすると

    .forward でphpに渡し、自動返信させようとすると Undelivered Mail Returned to Sender  が返ってきます。 内容は cannot append message to file /home/ユーザ名/**.php: cannot open file: Permission denied  です。  .forwardにメールアドレスを書くと、きちんと転送されるので、.forwardの権限や場所は合っていると思います。  phpファイルの権限は一通り試しましたが、どれでもだめでした。  default_privsの設定を変更しても状況変わらず、どなたかお分かりの方、同じ状況になった方、ご教示いただけると助かります。  

  • PHP 自動返信のセキュリティについて

    PHP 自動返信のセキュリティについて PHP初心者です。 以前にもセキュリティで質問させていただいたのですが、 またもや不明点が出てまいりましたので、質問させていただきました。 お問い合わせフォームを作成し送信者本人にも お問い合わせ内容を自動返信するように設定しました。 その際、問い合わせ先のアドレスは固定で設定すれば良いと思うのですが、 問い合わせ本人のアドレスは変数で渡すことになり 踏み台やその他セキュリティ的に危ないように思われ なるべく穴をなくすように送信前にチェックを掛けて 設定してみたのですが、それで十分なのかが分からず 困っております。 流れとしては フォーム入力画面→確認用php→送信用php(send.php)となっています。 送信用php(send.php)のメールアドレスの設定部分を 抜き出して下記に記載いたしました。 ご助言いただけると助かります。宜しくお願いします。 [send.php] <html> <body> <?php //エスケープ処理 if ($_SERVER["REQUEST_METHOD"] == "POST") {   foreach($_POST as $k => $v){     if (get_magic_quotes_gpc()) {       $v = stripslashes($v);     }     $v = htmlspecialchars($v);     $$k = $v;   } } else {   exit(); } ~~ お問い合わせ本文 省略 ~~ //メールアドレスチェック(同じチェックを確認用phpでも行っています) if($mailaddress==""){ //空白チェック   echo "<p>送信エラーが発生しました。</p>"; }else{   mb_regex_encoding("utf-8");   if(mb_ereg("[^a-zA-Z0-9@._-]",$mailaddress)){ //半角英数チェック     echo "<p>送信エラーが発生しました。</p>";   }else if(!($mailaddress==$mailaddress_confirm)){ //確認用アドレスチェック     echo "<p>送信エラーが発生しました。</p>";   } } if(mb_send_mail("固定メールアドレス",$title,$content)){ //お問合せ先   if(mb_send_mail($mailaddress,$title,$content)){ //お問合せ本人への自動返信     echo "<p>無事送信いたしました。</p>";   }else{     echo "<p>送信エラーが発生しました。</p>";   } }else{   echo "<p>送信エラーが発生しました。</p>"; } ?> </body> </html>

    • ベストアンサー
    • PHP
  • ロリポップと、phpで自動の返信機能を作りたい。

    レンタルサーバー、ロリポップのロリポプランで、phpとmysqlを使ったwebサービスを作ろうと考えています。 会員登録のシステムで、 仮登録すると、メールアドレスにURL認証の本登録のメールが、 こちらのロリポップのメール機能から返信されると言う風にしたいのです。 sendmailを使ったメールフォームを作成して、件名、本文等の情報を、 ロリポップ側のメールに「送信」と、「受信」は出来ました。 ただ、ロリポップ側のメールアドレス 例:test_hatena123@lolipop.co.jp にメールが外部から送信され、「受信」した際に、 phpが起動され、その外部のメールアドレス宛に、 自動で返信する様な機能を作りたいのですが、どの様にすれば良いか試行錯誤しています。 自動の「返信」機能を作りたいです。 その為にはどうすれば良いでしょうか。 サンプル、ソースコードを教えて頂くと助かります。 よろしくお願い致します。 メールの自動返信機能を

    • ベストアンサー
    • PHP
  • PHPの自動返信メールフォームについてです。

    PHPの自動返信メールフォームについてです。 docomoの携帯メールを上手く受け取れません。 アンケートの取る為の自動返信メールフォームを作成しています。 メールを受け取る事は出来るのですが DOCOMOの携帯の場合、送信者の メールアドレスが”で囲まれて、後ろに@サーバ名が付きます。 ↓こんな感じ "メールアドレス"@サーバ名 メールを返信しようとすると こういう記述があります。 <"=?ISO-2022-JP?B?Zm9yY2VfMS5mLXkucG9vQHQudm9kYWZvbmUubmUuanA@サーバ名> PHPのソースは mb_language("Ja") mb_internal_encoding("sjis") @mb_send_mail($conf[test@xxx.jp],$title,$mail_str,'From:'.mb_encode_mimehheader("$mail")); mailは変数です。 どなたか対処方法をご教唆願います。

    • 締切済み
    • PHP
  • PHP 自動返信メールについて

    日本語対応で自動返信メールを送るときは下記の通りPHPを組んでいます。 *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* if(isset($_POST[$dsp_name])){ $rebody = h($_POST[$dsp_name]). " 様\n";} $rebody.= $remail_text; $rebody.="\n===========================\n\n"; foreach($_POST as $key=>$val) { $out = ''; if(is_array($val)){ foreach($val as $item){ $out .= $item . ', '; } $out = rtrim($out,', '); }else { $out = $val; } if(get_magic_quotes_gpc()) { $out = stripslashes($out); } if($out != "confirm_submit" && $key != "httpReferer"){ $rebody.="【 ".$key." 】 ".$out."\n"; } } $rebody.="\n===========================\n\n"; $rebody.="送信日時:".date( "Y/m/d (D) H:i:s", time() )."\n"; *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 上記PHPの場合、自動返信メールの本文は『○○ ○○様』といった内容になるのですが。 これを英語対応で、自動返信メールの本文は『Dear. ○○○○』といった内容に変更したいのですがPHPコードはどのように編集すればいいでしょうか? どなたか分かる方がいれば教えて下さい。 ちなみにPHPコードは“PHP工房様【http://www.php-factory.net/】”の多機能メールフォーム フリーを使用しています。 つたない説明かとは思いますが、どなたかお力をお貸し頂ければと思います。

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

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

    • ベストアンサー
    • PHP
  • 空メールによる自動返信機能をつけたいのですが・・

    いつもこちらで大変お世話になっております。 現在、会員制のサイトを作成中で、登録用のメールアドレスに空メールを送信すると 専用のIDをつけた登録用の専用URLを発行して自動返信するという機能をつけようと 考えていたのですが、いくら調べても構成がわからず困っていました。 わかった事といえば 1.登録用メールアドレスに送信 2..forward(.qmail?)にてプログラムに転送 3.プログラムで解析して専用IDを発行してメール送信 という流れです。 なにがわからないのかというと、 .forwardに書くプログラムへのパスの書き方 (検索するといろいろ出てくるのですがいまいちわからず) その.forwardのファイルの置場とパーミッション 他のアドレスにも反応してしまわないのか? IDの発行やメールを送るPHPファイルはどこに置いてあっても問題ないのか? 途中で動きを確認したい時(エラーなど)の確認方法 などわからない事だらけです。 どなたかご理解のある方がいらっしゃいましたら是非ご教授願います。 よろしくお願い致します。

    • 締切済み
    • PHP
  • メール自動返信設定について

    現在、postfixのメールサーバを立てて、自動返信設定を行おうとしています。方法は、.forwardを使用して行おうとしていますが、 書式は、echo "\\$USER, \"|/usr/bin/vacation $USER\"" >> .forward で良いのでしょうか? また、この自動返信設定は、1通目のメールを送ると返信が来ますが、 2通目のメールを送ると返信は来ません。もともとそういう仕様なの でしょうか?それとも、どこかの設定で、2通目以降も返信される 方法があるのでしょうか?以上2点どうか、どなたか教えて頂けませんでしょうか。宜しくお願い致します。

  • PHP メールファーム 自動返信について

    phpでメールファーム 自動返信機能を取り付けたいです。 !どうすればよいのでしょうか。?メールが入力されたら、こちらから自動返信メールを送信しようと思うのですが、どうすればよいのでしょうか。?回答宜しくお願いします。!

    • ベストアンサー
    • PHP
  • 空メールから自動返信するスクリプトについて

    携帯サイトで空メールを送信して、自動返信メールに書かれたURLから会員登録させるスクリプトを作成しようとしています。 空メールから自動返信については、.forword等の説明があるサイトを参考にして、なんとかできそうかな?と考えていますが、送信するメールアドレスごとに、自動返信する文章を変更したいのです。 例:aaa@test.com 宛 ⇒ 自動返信文章 : regist.php?u=aaa   bbb@test.com 宛 ⇒ 自動返信文章 : regist.php?u=bbb この場合、メールアドレスを増やす度に、毎回メールアカウントを追加して、設定を追加しなくてはいけないのでしょうか? そうではなく、PHPでの管理画面で、ccc@test.comやddd@test.comのメールアドレスをDBなどに追加して、そのメールアドレスに送られてきたら自動返信メールが送信され、送信される文章も変更したいのです。 ご存知の方がおられたら教えていただければ幸いです。

    • 締切済み
    • PHP

専門家に質問してみよう