• ベストアンサー

設置されているページごとに宛先が異なるメールフォーム

メールフォームに関する質問があります。 例えば、Aさん、Bさん、Cさんがexample.comで各自ページを公開しているとします。example.com/a.html~b.html~c.htmlという感じです。これらのページをDさんが訪問し、各ページにあるメールフォームを利用して3人に連絡を取ろうと試みます。3人はexample.comに自分のメールアドレスを登録しており、Dさんにメールアドレスを公開せずに、メールフォームを通じて自分にメールが送られてきます。メールフォームにはDさんのメールアドレスの入力が必須となっていますので、3人はDさんに返信することが可能です。 http://tokyo.kijiji.co.jp/c-Events-events-general-5-11-W0QQAdIdZ26942177 このリンク先の右側にあるメールフォームが正にそのものです。 この仕組みを、一般的なメールフォームと比較して、php初心者でも理解できるように教えていただけないでしょうか? また、この形式のメールフォームは、無料スクリプトが出回ってますでしょうか? よろしくお願いします。

  • PHP
  • 回答数3
  • ありがとう数4

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

  • ベストアンサー
  • SHlVA
  • ベストアンサー率48% (20/41)
回答No.3

フォーム処理は基本部分なので、まずは試行錯誤しながらやるといいですね。 とりあえず、私ならこうする、というフローでも書いてみます。 -----フォームのページ---- formの中に 「メールアドレス」 <input type="text" name="mail" /> など 「タイトル」 「内容」 を入力してもらい、隠し(<input type="hidden" name="id" value="A" />など)で、宛先のユーザーIDを持ち運ぶ -----処理のページ---- 各種値を受け取る。値があるか確認も含めて。 $id = $_POST['id']; など データベースに宛先IDからメールアドレスを問い合わせて取得(mysql関数とか)。なければエラーでも。 mb_send_mail にてメール送信。 結果を表示 ---------------------- これが基本的なものでしょうか。 まずは"動く物"を作ればいいんです。あとあとより綺麗な処理やコードに進化させればいいんですから。 あと注意が必要なのは、セキュリティはいろいろ大変ですから、しっかり勉強してくださいね。上の処理でも、セキュリティをしっかりやらないといけない箇所が、「値を受け取る箇所」「データベース処理」「結果を表示する」などにあります。 PHP XSS(クロスサイトスクリプティング) SQLインジェクション などのキーワードで検索するといろいろでてきます。 学ぶことがきりがないものですが、ゆっくり時間をかけてがんばってください。なにごとも簡単にはいかないものですからね。

londonmind
質問者

お礼

なるほど! 概念的ではありますが、形が見えてきました。 セキュリティは重要ですよね。 興味が続く限り、ゆっくり勉強しようと思います。 この度はご説明ありがとうございました。

その他の回答 (2)

  • SHlVA
  • ベストアンサー率48% (20/41)
回答No.2

勉強のためにも、まず3人とか考えずにAさん一人だけとしてコードを書いてみてはどうですか? それだけなら、フォームから内容を受けて、mb_send_mail でも使えば1発ですよね? あとは、各ページごとに、宛先部分だけを書き換えるだけ、ということ。何人増えてもいっしょです。 一般的なメールフォームといっしょですよ。宛先を変えるだけ。その宛先は、どこから?データベース?テキストファイル?

londonmind
質問者

お礼

宛先はデータベースからです。 phpを始めてまだ間もないので、これから勉強を重ねて頑張ろうと思います。 ご回答ありがとうございました。

  • ayucat
  • ベストアンサー率12% (7/55)
回答No.1

通常のメールソフトを考えてみましょう。 To(宛先)に、aaa@exaple.com, bbb@exaple.com, ccc@exaple.comと書いたメールを作って、Dさんが送信すると、Aさん、Bさん、Cさんに届くはずです。 いくつの宛先にアドレスにメールを送るかはメールフォームの違いではありません。 PHPのmail関数を使う場合だとここが参考になります。 http://jp2.php.net/manual/ja/function.mail.php ここのtoに「User <user@example.com>, Another User <anotheruser@example.com>」というのが載っていますが、カンマで区切っていくつも書けば、同時に同じ内容を送ることができます。

参考URL:
http://jp2.php.net/manual/ja/function.mail.php
londonmind
質問者

お礼

ご回答いただきどうもありがとうございます。返事が遅れてしまい申し訳ありません。 ご説明いただいた、DさんからA、B、Cさん宛てに同時に送信されるメールフォームではなく、DさんがAさんのページのメールフォームを使えばAさんに、BさんのページからはBさんに送信されるメールフォームというようなメールフォームの仕組みを教えていただきたいのです。 私の説明不足で誤解を招いてしまい申し訳ありません。 http://tokyo.kijiji.co.jp/c-Events-events-general-5-11-W0QQAdIdZ26942177 ↑のサイトでは、各ページからそのページの掲載者宛てに連絡が取れるメールフォームが設置されています。掲載者のメアドは非公開です。この仕組みを教えていただけないでしょうか? お時間がありましたら再びご回答お願いします。

関連するQ&A

  • メッセージの伝送

    A君とB君という人がいて、A君がhttp://mail.example.com/のサイトで読み書きをして、メールアドレスはa@example.comで、B君のメールアドレスがb@mr.hum.tokyo.ac.jpだったとしたときのことを考えると、A君はWebを用いてメールを読み書きし、B君はPOP(POP3)を用いてメールを読んでいるとしたら、A君がB君にメールを送るときに、メッセージはどのように伝送されるのでしょうか?

  • メールフォームの選択した項目によってメールを振り分けたい。

    メールフォームの選択した項目によってメールを振り分けたいのですが、どのようにすればよいのでしょうか? 例えば、「A」を選択した場合には「a@yahho.com」に、、「B」を選択した場合には「b@yahoo.com」のメールアドレスにメールが受信されるように、設定したいのです。 難しいのでしょうか?

    • ベストアンサー
    • CGI
  • メールフォーム設置

    みなさまよろしくお願いします。 現在、ホームページビルダー14でHPを製作、公開しております。 この度、そのHPにメールフォームを設置しようと考えております。 更に、このメールフォームに画像も添付できるようにしたいのですが・・・ いろいろ調べたところ、使用しているサーバーではCGIは使用可能ですが、PHPは不可とのこと。 上記のような感じなのですが、なにか無料で良いものございませんでしょうか? (メールフォームの項目としては名前、アドレス、住所、項目選択欄) よろしくお願いいたします。

  • メールフォーム

    今HPで運用させる「お問い合わせフォーム」を作成しています。 このフォームの機能なんですが件名がスクロールできるようになっていて適当な件名を選べるようになっています。 そして、その件名にはそれぞれ違うメールアドレスが設定されていてます。 つまり、Aという件名を選べばA@test.co.jpに問い合わせ内容が送られ、Bという件名を選べばB@test.co.jpに問い合わせ内容が送られるという具合です。 これをプログラム上で実現できたのですがこれでは第三者にソースを見られてしまいます。 そこで、管理ページなどを利用して件名別にアドレスを設定できるようなメールフォームありませんか?フリーでもフリーでなくてもいいのでよろしくお願いいたします。

  • フォームの項目を来たページによって切り替えたいのですが。。。

    フォームの項目を来たページによって切り替えたいのですが。。。 1サイトのコンテンツがA,B,Cとあり、フォームがひとつしか無い場合、 Aからフォームに行くとA用の項目になっていて、 Bからだと同じフォームですがB用の項目が表示されているといった事がやりたいのですが、 私の力量ではどうにも行きませんでした。。。 ちなみにABC以外のページからフォームに行った場合は A用の項目が表示されているというのが理想です。 どなたかお分かりの方いましたら、是非ご教授お願い致しますm(_ _)m

    • ベストアンサー
    • HTML
  • 退職メールの宛先

    こんにちは 退職をすることになったのですが、客先にメールを送る複数の宛先で困っています。 お客さんごとに送信をするのはもちろんなのですが、 メールはBCCで送るように、といろんな情報サイトに記されています。 しかし送信するとき、必ず1通は宛先の枠に入れないといけないため、 その人のアドレス+BCCの方という形になってしまいます。 (すいません、わかりますでしょうか・・) 宛先に入れたAさん BCCに入れたBさん、Cさん、Dさん・・となると Aさんは、Aさんにだけ送られた、 Bさんは、AさんとBさんにだけ送られた Cさんは、AさんとCさんにだけ送られた・・となり、Aさんに送っていることが必ずわかってしまいます。 これは問題ないのでしょうか? それとも同じ客先であれば、A~Dさんは全て宛先に含めるものなのでしょうか? すいません、よろしくお願いします。

  • PHPでの複数ページに渡るメールフォーム作成について

    PHPに関してはまったくの初心者なのですが、どうぞ宜しくお願いします。 現在PHPを用いたメールフォームの作成を、 http://php.eweb-design.com/1301_mail.html のサンプルを参考にしながら作成しているのですが、 記入項目の内容から、a.html、b.html、c.htmlをd.phpでまとめて1つのメールとして送信できないかと考えております。 http://okwave.jp/qa2242589.html などを参考にさせていただいてはいるのですが、同じようにセッションで送ることが可能なのでしょうか。 それとも、まったく別の方法をとるべきなのでしょうか。 是非とも宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • BCCでメールを送り、宛先にはそれぞれの宛先を入れたい

    BCCでメールを送るとき、toには自分のアドレスを入れることが多いと思うのですが、BCCで送りながら、相手に届いたメールの宛先には、それぞれの相手の宛先が入るようにしたいのですが、できるでしょうか? つまり、Aさん、Bさん、CさんにBCCでメールを送りながらも、Aさんの受け取ったメールは宛先がAさんになっていて、Bさんの受け取ったメールは宛先がBさんになっていて、Cさんの受け取ったメールは宛先がCさんになっているという状況です。

  • メールフォームを使いたい

    <A HREF="#" ONCLICK="var a=('lto:'+'アドレス');var b='ドメイン';location.href=('mai'+a+'@'+b);">メールを送る</A> 上のタグを使うとウイルスメールをシャットアウトしてメールを送れるのですが,メールソフトからメールを送るので,メルアドが簡単にばれてしまいます。そこで,メールフォームとこのタグを合わせて,ウイルス対策メールフォームを作ろうと思っています。しかしメールフォームの作り方がわからないし,どうやって無理やり上のタグと合わせたら良いのでしょうか。

  • 認証ページとメールフォームの作り方

    以下の5つの質問に回答をお願いします 1.ベーシック認証についての質問です ID・パスワードに有効期限を付けたいのですが 例えば1ヶ月だけ有効とかにするにはどのようにすればいいのでしょうか? 2.SSL認証ページの作り方はどのようにするのでしょうか? 3.画像送信可能なメールフォームの作り方を教えてください 4.SSLメールフォームの作り方を教えてください 5.メールフォームでフリーアドレスをはじくようにするにはどう書けばいいのでしょうか?

専門家に質問してみよう