• ベストアンサー

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

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

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

  • ベストアンサー
回答No.3

こんにちは。 ぱっと見た感じでは、 mail関数で送信しているようですね。ま、sendmailが使えないサーバでもメールは出せるようなプログラムになってますが(^ ^ ;ゞ 一応、考えては見ましたが(テストもしました。私の環境では作動しました)、ちゃんと動くか、また、ホタルさんの思惑通りに作動するかわからないので、動作テストを行ってくださいね。 プログラム中に } ////////////////////////////// // HTMLファイル読み込み // ////////////////////////////// if (!isset($flag_send)) { include($file_form); という部分がありますが、「}」の上の行に以下をコピペしてください。 /************************************記入者にもメールを出す***************************************/ //タイトル $mySbj = "ここがタイトルになります"; //送り先(ここでは入力者) $to = $_POST['FORM']['EMAIL']; //あなたのメールアドレス $myMail = "aaaaa@aaa.co.jp"; //相手に表示させたい自分の名前 $myName = "あなたのお名前"; //送信したいメッセージ 以下から $msg = <<<EOM     ★★★『ご登録ありがとうございます』★★★ 登録されたのでお知らせします。 あいうえおかきくけこさしすせそ あいうえおかきくけこさしすせそ あいうえおかきくけこさしすせそ あいうえおかきくけこさしすせそ あいうえおかきくけこさしすせそ EOM; //この範囲内で $subject = '=?ISO-2022-JP?B?'.base64_encode(EUCtoJIS($mySbj)).'?='; $EncMyName = '=?ISO-2022-JP?B?'.base64_encode(EUCtoJIS($myName)).'?='; $head = "From: " . $Re . "<" . $myMail . ">\r\n"; $head .= "Reply-To: " . $myMail ."\r\n"; $head .= "X-Mailer: PHP/" . phpversion(); if(!mail($to,$subject,EUCtoJIS($msg),$head)) die('メール送信に失敗しました'); /************************************** 終わり *************************************************/ で、自分のメールアドレスや、お名前、相手に送りたい文章に変えてみてください。

その他の回答 (3)

回答No.4

追加です。 if ($_POST['FORM']['EMAIL'] == "") { die('Eメールが入力されていません'); } の真下に、以下を付け加えてみてください。 if(!ereg("^[a-zA-Z0-9_\.\-]+@(([a-zA-Z0-9_\-]+\.)+[a-zA-Z0-9+$)",$_POST['FORM']['EMAIL']) die("メールアドレスが正しくありません"); 簡単なメールアドレスのチェックです。もっと正確にチェックすることもできますが、まぁ、無いよりはマシ。程度で・・・。 これは試していません。(^ ^ ;ゞ

hotal7
質問者

お礼

ご丁寧にありがとうございます。 教えていただいた様にソース追加できたようで、 自動応答メールが機能しました♪ レンタルサーバー会社でも対応してくれなかったのに、ホントになんとお礼を言ったらいいのか。 ありがとうございました。 他にも実現したい機能がいくつかあります。今回の件で自分では組めないと実感しました(^_^; それに趣味でサーバーを立てるとはどういう楽しみ様なのかちょこっと知ってみたいです。 修正箇所に問題ないとは思いますが、一目だけ見てやってください。2日以内にページ閉じます。

回答No.2

初めまして。趣味でサーバを立ててPHPで遊んだりしているものです。(最近はJavaで遊んでますが(^ ^ ;ゞ) そのPHPファイルで、指定された(この場合は、hotal7さんのメールアドレス)に、送信されているのでしたら、そのPHPファイルをいじれればできます。 「sendmailが使えるかどうか」は、すでにこの時点でクリアされています。 問題は、hotal7さんがPHPをどれだけ理解しているか。に、よります。 そのPHPファイルを見ていただいて、hotal7さんに送信されている部分をコピペなりして、hotal7さんのメールアドレスが入っていた部分を、お客様が入力したアドレスに変えて、本文をお客様用に書き換えるだけです。 フォームメールだけしか機能しないPHPファイルでしたら、自信がなければ、私が見てあげてもいいのですが。(って私も自信ないけど(^ ^ ;ゞ)

hotal7
質問者

補足

ご自身でサーバーを運用しているなんてすごいですね。 お礼のお返事が遅れまして申し訳ないです。 私もcampanella_77さんやkusukusuさんの言うようにsendmailができればと思ったのですが、 Eメールアドレスをどこへsendmailコーディングしたらいいのか。 自動応答する「おなまえ」「タイトル」「応答文面」をどこで造りこんだらよいのかやはりわかりませんでした。 http://kabukan.com/QAphptext.htm こちらに関係するphpファイルを載せましたので 皆さんに教えていただけると大変助かります。

  • kusukusu
  • ベストアンサー率38% (141/363)
回答No.1

やりたい事自体は余裕で出来ますが、問題は以下の二つです。 1.hotal7さんにどれくらいのスキルがあるのか 2.そのサーバーはsendmailを利用可能なのか この二つをクリアすれば、やりたい事は非常に簡単です。

hotal7
質問者

お礼

週末出かけてまして。 お礼のお返事が送れましたすみません。m(__)m 1.9年前に職場でC言語を扱ったことある程度です。今ではスキルなしに等しいです。 2.sendmail利用可能みたいです。index.phpに関係しているみたいで、中身に何箇所か存在してました。 なんでも自由に編集してもいいそうなんです。

hotal7
質問者

補足

form.htmlの画面から「おなまえ」「Eメールアドレス」を入力です。 <HTML lang="ja"> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=EUC-JP"> <TITLE>PHP FORM MAIL</TITLE> </HEAD> <BODY bgcolor="#EEEEEE"> <HR size=1 width="90%"> <DIV align=center> <H1>PHP FORM MAIL</H1> </DIV> <HR size=1 width="90%"> <BR><BR><BR> <TABLE border=0 align=center><TR><TD> <FORM method=POST action="./"> <TT> <B>おなまえ</B> <input type=text size=30 name="FORM[NAME]"><BR> <B>Eメール</B> <input type=text size=50 name="FORM[EMAIL]"><BR> <B>タイトル</B> <input type=text size=50 name="FORM[SUBJECT]"><BR> <BR> <B>メッセージ</B><BR> <TEXTAREA rows=10 cols=65 name="FORM[MESSAGE]"></TEXTAREA><BR> <INPUT type=submit name=send value="送信"> <INPUT type=reset name=reset value="リセット"> </TT> </FORM> </TD></TR></TABLE> </BODY> </HTML>