PHPメールフォーム お問い合わせ用プログラム フリー(無料)

重要 ======================================================
当サイトで配布しているプログラムはすべて以下のサイトに統合いたしましたので、お手数ですが今後は以下のサイトにてダウンロードをお願い致します。当サイト内のプログラム配布ページはいずれ削除させていただきます。
またご質問やその他お問い合わせにつきましても下記PHP工房にてお願い致します。

(ブログ記事と共存しているため、ページ構成が複雑になってしまったため)
ページ内容はこちらとまったく同じです。
※ただし、むしろこのページの記事のほうが古い可能性もありますので、記事、ダウンロードも含め以下サイトにてお願い致します。
PHPプログラム配布サイト PHP工房→
==========================================================

1ファイルのみのシンプルな無料(フリー)のメールフォームPHPです。お問い合わせの受付などに最適です。
項目を変更すればアンケートなどにも使用可能です。
メールフォームプログラムに必要なものはほとんど付いています。

特に難しい設定は必要ありません。フォームで送信されたデータをすべて自動で取得、送信します。とりあえずであればファイル内に受信するメルアドとサイトのトップページのURLを記載し、サーバーにアップすれば設置完了です。

主な特徴

  1. もちろん商用でも使用OKです!特に使用制限はありません。
  2. 使うファイルはたった1つだけです。(mail.phpのみ)なので設置・管理が簡単です
    ※すべての設定はmail.phpで行います。
  3. すべてのフォームパーツを使えます。テキスト(textarea含む)はもちろんラジオ、チェックボックス、プルダウンなども。すべて自動で取得、送信します。
  4. 送信内容確認画面付き(デフォルトはON
  5. 自動返信メール付き
    (送信内容を送った人に自動送信します。デフォルトはOFFになってます。また送った人に送るメール本文の文頭に「○○様」と表示させることもできます。
    いずれもmail.php内で設定可能。
  6. 入力必須項目も設定可能。※ファイル内にて設定可
  7. チェックボックスにも対応。複数の値を取得可能
    チェックボックス使用時は注意点がありますので必ず確認してください。
    ※name属性を配列形式にする必要あり(phpファイル内に説明があります)
    通常name属性は name=”名前” とかにしますが、チェックボックスは同じname属性がフォーム内に複数あるため、checkboxのname属性だけはすべてname=”名前[]“としてください。値の後ろにカッコを2つ追加します。同梱しているサンプルのcontact.htmlを見ていただければ分かると思います。
  8. 当たり前ですが携帯(ガラケー)、スマホも対応しています。※ガラケーは当然3キャリアで要テスト。ガラケーはSHift-JIS版が無難です。
  9. フォーム用のHTMLファイル(contact.html)も同梱してます。もちろんオリジナルでもOKです。
  10. 自動返信メールのフッタ部にオリジナルの署名表記可能。(デフォルトは無し)
    ※ファイル内で設定可。
  11. 確認画面はデフォルトではテーブルのみのシンプルなデザインですが、オリジナルのデザイン(現行サイトのデザイン)も反映できます。(コメントを参考にHTMLの編集などが可能です)※ただし、変更は自己責任でお願いします^^;。
  12. メールアドレスの形式チェック付き。
    (メール入力欄のname属性の値が「Email」である必要があります)
  13. Bcc設定が可能(ファイル内のコメントを参考ください)

◆問い合わせフォームデモ画面
確認画面までは確認できますが、送信はできません。
名前とメールアドレスを必須項目に設定しています。
いろいろ試してみてください。

SHift-JIS版とUTF-8版があります。あなたのサイトのhtmlファイルの文字コード(正確にはフォームページの文字コード)に合わせて使ってください。でないと文字化けします。
euc-jp版が欲しい場合はutf-8版をダウンロードし、mail.php内のutf-8の文字列すべてをeuc-jpに変換し、euc-jpで保存すればOKです。

zipファイルにしてありますので、ダウンロード後必ず解凍してください。
解凍ソフトは特になんでもOKですが、無ければ以下のLhaplusとかで良いと思います。
http://www.forest.impress.co.jp/lib/arc/archive/archiver/lhaplus.html

PHPメールフォームダウンロード

最新版 2013/4/19アップデート
主な変更点
・ご要望の多かったBcc設定を可能に。(デフォルトはOFF)
・自動返信メールの送信者欄に表示される名前を設定可能に
・スパム対策にリファラ(直前に見ていたページのURL)を取り、お問い合わせページとプログラムのドメインが違う場合には送信できないように設定が可能。(デフォルトはOFF)
※ただし、これでスパムが完全に防げるわけではありませんのでご了承下さい。
・メールアドレスの形式チェックを導入。(デフォルトはON)
(メール入力欄のname属性の値が「Email」である必要があります)
これ以前の変更履歴はページ下部の「更新履歴」を御覧ください。
十分な動作チェックは行なってますが、バージョアップ直後は未知のバグが無いとも限りませんので、そのあたりなにかあればコメント等でフィードバックいただければありがたいです。

重要 ======================================================
当サイトで配布しているプログラムはすべて以下のサイトに統合いたしましたので、お手数ですが、今後は以下のサイトにてダウンロードをお願い致します。
ページ内容はこのページとまったく同じです。
PHPメールフォーム配布サイト PHP工房→

設置方法

解凍するとphpファイル1つとサンプルのhtmlファイルがあります。
mail.phpがメールプログラムになります。htmlファイルはフォームページのサンプルです。
そのまま使ってもいいし、これを参考にオリジナルでももちろんOKです。

初めにメールアドレスなどの設定を必ず行ってください。
mail.phpファイルをTeraPadなどのエディタもしくはDWで開き、必要な項目を設定してください。
設定の説明はファイル内にコメントしてあります。※メモ帳は使用禁止

フォームページ側のformタグのaction属性でこのphpファイルのパス(場所)を記述すればOKです。
method属性も必須です。postを指定してください。

</pre>
<form action="mail.php" method="post">

サンプルのhtmlファイルがありますので、そちらを参考にしてください。
※すでに設定済みのhtmlファイルなので、送信可能になっています。

パーミッションについて

基本的にはPHPの場合、パーミッションの設定は必要ないサーバーが多いですが、
サーバーによってはパーミッションの設定が必要な場合があります。
詳しくはサーバーのマニュアル等をご確認ください。

sendmailについて

たまにご質問を受けますが、
一般的なレンタルサーバーの場合、sendmailの設定等は基本的に必要ありません。
※CGIなどでは必要ですが。

ご利用について

コメントでのカスタマイズ方法などのサポートは行っておりませんのでご了承ください。
改変等は自由にしていただいてOKですが、自己責任でお願いします。
※もちろんお問い合わせはサイトにとって超重要(いや一番か)な部分と考えていますので、
十分検証の上で配布しています。また実際に実務でも使っています。

HTMLやCSSを理解されている方を対象としています。
設置自体はさほど難しいものではありません。むしろ簡単すぎるとも言えます。
フォーム(タグ)の設置法などのHTML、CSSの記述方法、プログラム自体についてご質問をいただいても回答できないことがありますのでご了承ください。管理人一人で運営していますので・・・・。もちろん不具合などがございましたらコメントください。ただし、最適な回答ができない、また返信に時間がかかることがありますのでご了承ください。

ご利用規約

・プログラムによって何らかの不利益、損害が生じても一切の責任を負いません。あらかじめご了承の上ご使用ください。
・プログラムは全ての環境(サーバー)での動作を保証するものではありません。
・プログラムの著作権表示を削除することはできません。著作権表示削除を希望される場合は下記をご参照ください。
・改変等は自己責任でお願いします。

コメントは大歓迎です^^管理人のヤル気が増しますw

動作確認済レンタルサーバー

その他メジャーかつPHPが動くサーバーであれば基本動くとは思いますが、サーバーによってはその限りではありません。またその他サーバーでは動作確認は行なっておりませんので、悪しからずご了承ください^^;

著作権表記削除について

削除をご依頼されたい方は作業1回あたり2,000円になります。その後そのプログラムを他のサイトで使いまわすのは自由です。

詳細・ご依頼はこちらです

カスタマイズ、設置代行について

コメントでのカスタマイズ方法などのサポートは行っておりません。
カスタマイズや変更などは有償にて承ります。詳細は以下になります。
ご依頼・お見積もりの詳細はこちらです
実装が難しいもの、まったく違うものに作り変えるなど対応出来かねる場合もございます。

更新履歴

2013/4/19
主な変更点
・ご要望の多かったBcc設定を可能に。(デフォルトはOFF)
・自動返信メールの送信者欄に表示される名前を設定可能に(すべてのメーラーでの確認はしておりませんので、万が一お使いのメーラーで文字化け等が起きる場合には設定箇所を空(”)にしてください)
・スパム対策にリファラ(直前に見ていたページのURL)を取り、お問い合わせページとプログラムのドメインが違う場合には送信できないように設定が可能に。(デフォルトはOFF)
※ただし、これでスパムが完全に防げるわけではありませんのでご了承下さい。
・メールアドレスの形式チェックを導入しました。(デフォルトはON)
(メール入力欄のname属性の値が「Email」である必要があります)
※これらすべては配布中のmail.php内にて設定可能です。コメントを参考に設定下さい。

2012/11/25
主な変更点
tetsu様よりご指摘いただいた、「確認画面を表示しない」かつ「必須項目を設定する」と設定した場合、必須項目の確認をスルーしてしまうバグを修正しました。この場をお借りしてtetsu様に感謝申し上げます。

2012/10/28
主な変更点
・オリジナルの署名表記が可能に。(デフォルトは無し)
・確認画面にオリジナルのデザインを反映したい場合、反映しやすいようコードを変更(コメントを参考にHTMLの編集などが可能)※ただし、変更は自己責任で。
・確認画面でコメントの改行が反映されるようコードを修正。
・管理者宛のメールに「問い合わせのページURL」を追加。(問い合わせページのURLを表示)

2011/6/23
プログラムの配布を開始

記事の内容が近いもの:

  1. 自分のサイトにRSSを取得・表示(PHP使用)日付表示と表示件数も指定
  2. PHP 新着情報・ニュースプログラムver.1 (ホームページのお知らせなどに最適)フリー
  3. PHP画像認証付き掲示板
  4. PHPカウンター フリー(著作権表示なし)テキスト版と画像版
  5. PHP 画像アップ,文字装飾,HTML編集機能付 新着情報・ニュースプログラム フリー

カテゴリー: フリーのPHP配布してます!   パーマリンク

PHPメールフォーム お問い合わせ用プログラム フリー(無料) への177件のコメント

  1. rie より:

    プログラムがてんで使えないweb屋です。
    やっかいな設定ガチガチのサーバで、PHPでSJISのメールフォームを探していました。
    シンプルで素敵なメールフォームをありがとうございます!
    カウンターや新着表示も使いやすそうで、これからのサイト作成が楽しみになってきました。

  2. ken より:

    コメントありがとうございます~
    お役に立てれば光栄です。

    PHPは大規模なものやセキュリティガチガチのものでなければ結構簡単にできてしまいますので、ぜひ挑戦してみてはどうでしょ。

    と言いつつ、自分もプログラマー目指しているわけではないので、そこまでガリガリやってるわけではありませんが。。。汗
    っていう自分にも多少できてるんで、誰にでもできます!きっとw

    • 公平 より:

      はじめまして。
      よろしくお願い致します。
      ホームページに問合せ表示を追加しようと思い立ち早速ダウンロード
      しました。大変初歩的な質問で恐縮なのですが、HTMLをスタンドアロンで
      起動しただけでは、”送信”ボタンで、mail.phpのソースコードの表示しか出来ませんでした。(インターネット上はつながる環境です。)
      レンタルサーバー上にもphp,apatch等の環境が必要なのでしょうか。

  3. ok より:

    webデザイナーを目指しているものです。
    とても素敵なメールフォーム頂きました!ありがとうございます。
    phpプログラムなど全然出来ないので凄く助かりました

    • ken より:

      PHPなんてできなくてもWeb屋できますよ~
      自分も大してできませんよ~w
      設置できればOKですよ~~
      ほとんどのものはネット上に転がってますからね。
      プログラムできるよりも
      「まずはサイトを作れる」のほうが大事と個人的には考えております^^;

      お役に立てて光栄です!

  4. 高橋 より:

    こんばんは。
    プログラムありがとうございます。
    utf-8版で検証中ですが、送信確認画面と受信で日本語が文字化けします。
    どうもサーバーの仕様によって文字化けしないものもあるようなのですが、サーバー移行となると素人には手に負えません。
    恐縮ですが、対処方法等ありましたらご教示ください。
    よろしくお願いします。

    • ken より:

      こんばんわ
      管理人の沼田と申します。

      ご質問の件ですが、
      考えられる原因を下記致します。

      確認画面での文字化けですが、
      フォームページのHTMLファイルの文字コードと
      メールプログラムの文字コードが違う場合には100%発生します。

      おそらくこのあたりの可能性が高いです。

      メールプログラムはフォームページのHTMLと必ず同じ文字コードのプログラムをダウンロードください。
      当サイトではUTF-8とShist-JIS版を配布しております。

      EUCである場合はUTF-8版をダウンロード後、
      mail.php内のUTF-8を置換等ですべてEUC-JP(HTML側に書いているものと同じもの)とし、
      さらにエディタソフト(Terapadなどフリーのもので充分です)でEUCとして保存すればOKです。

      >どうもサーバーの仕様によって文字化けしないものもあるようなのですが、サーバー移行となると素人には手に負えません。

      lこちらサーバー側でPHPが動くのであればバージョン等は特に問わずほぼ問題なく動くかと思います。=レンタルサーバであればほぼ問題ないはずです。
      ※さくらサーバーのライトプラン(月額125円)ではPHPは動きません。

      差し支えがなければ現在契約中のサーバー会社をお知らせください。

      以上、取り急ぎとなりますが、
      解決されることを期待しております!

      その他なにかありましたらご連絡ください。

  5. yuka より:

    カナダからです。日本語の文字化けしないフォームメールを色々試しましたが、シンプルかつ必要項目を十分備えているこちらのphpが一番でした。
    ファイル内にある設定の説明も本当にわかり易く、とっても助かりました。ありがとうございました。

    • ken より:

      海外からありがとうございます。
      お役に立てて光栄です。
      地理的な垣根が無いのもWebの良いところですね。

      自分も英語が喋れたら海外行って仕事したいです。。。

  6. opera より:

    こんばんは。
    PHP初心者でも設置できそうで助かっております。
    プルダウンを利用することはできるのでしょうか?

    • ken より:

      お返事が遅くなりましたが、もちろんプルダウンも問題なく使えますよ~
      基本的にフォームパーツはすべて使えます。
      特に設定等は必要ありません。プログラム側で勝手に取得して良い感じに処理してくれるはずです。

      よろしくです~(^^/

  7. 職業訓練学校で学んだのですが、年齢がいっている分就職も難しく、ならばネットで少しでも稼げないかと…まだ取り組み始めたばかりです。
    マークアップ言語とCSSはちょっとだけなんとかなり、ならないところはhttp://htmllint.info/htmllint/htmllint.html でチェックして「よくできました」になるまで頑張っておりましたが、いざメールフォームにとりかかったら文字化けしてどうにもならずに一昼夜、やっとuhf-8が原因とわかり、そうなれば検索キーワードもわかり、そしてこちらにたどり着きました。
    まだサイト制作は途中ですし、全体のセンスも悪かろうとは思いますが、恥ずかしながら利用させていただいたページのURLは書きました(こちらのメールフォームはシンプルで素晴らしいと思います)。
    感謝です。

    • ken より:

      お役に立てれば光栄です。
      文字化け解決なによりです。

      文字化けの原因はほとんどの場合はちょっとしたことなんですよね。

      始める年齢は関係ないと思います。
      自分も歳を重ねてもいろんなことに初心を忘れず挑戦できる人間になりたいです。

      またよかったらサイトに遊びにでもきてやってください~(^^/

  8. tomoko より:

    こんばんわ。
    メールフォームありがとうございます。
    デザインがシンプルですっきりしていていいですね。(^^)

    utf-8版をダウンロードして基本設定をしましたが、「確認する」ボタンをクリックするとphpファイルが開きます。
    何が問題なのでしょうか?

    PHP初心者です。(^^;この質問自体ありえないかもしれませんが、ご教示よろしくおねがいいたします。m(__)m

  9. tomoko より:

    こんばんわ。ふたたびtomokoです。

    一旦ファイルをアップロードして、属性変更したらちゃんと動作しました。
    解決しました。お騒がせしました。(^^ゞ

    メールフォーム使わせていただきます。ありがとうございます。

    • ken より:

      返信が遅れまして申し訳ないです。。。
      解決されたということでなによりです。

      またなにかあればコメントいただければと思います。

  10. ta98 より:

    こちらのお問い合わせフォームがすごく使いやすくいつも仕事での案件で使用させてもらっています。
    今回も使用させてもらおうと思ったのですが今回、サーバーがウィンドウズサーバーなのですが必須項目を下記の設定にすると
    // 必須入力項目を設定する(する=1, しない=0)
    $esse = 1;
    必須項目をちゃんと入力しても必須項目が入力されていないと言うエラーがでて困っています。何か設定があればご回答お願いします。
    ちなみに必須項目を設定しないで設置すると確認画面までいけますが文字化けして表示されます。すべても文字コードを確認しましたが、何も間違っていませんでした(文字コードUTF-8です)。
    ウィンドウズサーバーに対応していないのかこちらの設定なのかおわかりになるならご回答お願いします。

    • ken より:

      コメントありがとうございます。
      ご質問の件ですが、
      残念ながら私はウインドウズサーバーの環境が今は皆無のため、動作確認等はできないのですが、
      あくまで推測に過ぎませんが、PHPがうごく環境であれば基本的には動くと考えられます。

      必須項目のエラーですが、これはおそらく確認画面で文字化けしているということですので、
      name属性の値が確認画面で文字化けしているため、PHPファイルに書かれた必須項目と一致しないことが原因と考えられます。

      逆に文字化けを直せば必須項目設定もうまく働くはずです。
      ほとんどの場合文字化けはフォームのHTMLファイルの文字コードと、PHPファイルの文字コードが違うために起こりますが、
      このあたりは問題ないということですよね?
      う~ん・・・PHPのバージョンが古過ぎて一部の関数が動いていないのか・・・見てみないとなんとも言えないですね。。。

      ちなみにPHPのバージョンチェックは、

      <?php phpinfo();?>

      と書いたファイルをサーバにアップし、ブラウザで表示し、画面一番上に表示されます。
      このあたりもチェックしてご報告いただければ解決できるかもしれません。
      クライアントのサイトかと思うので、URLを聞くわけにはいかないですよね・・・。

  11. ai より:

    はじめまして、こんにちは。
    こちらのサイト、とてもよさそうで、
    さっそく取り入れさせていただきました。
    ありがとうございます。
    ただ、うまくいかないところがあって
    質問させていただきたいと思います。
    サーバーにアップすると、
    送信できましたというページまでいくのですが、
    メッセージがメールに届きません。
    サーバーからの指示で、
    sendmailは、/usr/sbin/sendmailというのがあるのですが、
    これは、関係ありますか?
    関係ある場合、どのように改変すればいいですか?
    すいません、お手数おかけしますが、
    お答えいただければ助かります。

    • ken より:

      aiさん
      お返事が遅くなりましてすみません・・・
      管理人です。

      こちら解決されたでしょうか?
      ちなみにPHPの場合、サーバーのマニュアル等にある「sendmailのパス」は特に設定の必要はありません。(無視でOKです)
      CGIなどによっては必要になる可能性もありますが。

      メールは管理者側、確認メールの送信設定をしているのであれば送信者側いずれにも届かないということでしょうか?

      正常に完了画面まで行くのあればPHPが動いている環境であれば届くはずではあります。
      可能でしたらお使いのサーバー等をお聞かせいただければ解決策が見つかるかもしれません。
      よろしくお願いします~

      • Maki より:

        横レス失礼します。
        すごくシンプルで設置も楽でしたが
        私も同じ症状なので横レスしてしまいました。

        他にもPHPは動いているサーバーで、
        フォームへの入力・チェック・トップページへまでは
        何の滞りもなく動きます。

        ちなみにiSLEのInfinitoPlusというサーバーを使用しています。
        ご確認頂けると嬉しいです。
        よろしくお願いいたします。

        • ken より:

          Makiさん

          管理人です。
          コメントありがとうございます。

          お使いのサーバーを確認してみましたが、
          GMOグループということで超メジャーなサーバーなので、
          本来問題なく動作しそうではありますが、
          メールが届かないのですね。。。

          エラーが何も出ないというところが何とも原因の絞り込みが難しいですね・・・
          自動返信の設定もできますが、
          管理者側、送信者側、双方とも届かないということでしょうか。

          う~ん、ごめんなさい。。。今すぐには最適な回答が浮かびませんが、
          時間をみてちょっと調べてみますね。

          • Maki より:

            管理人様

            早速のコメントありがとうございます。
            自動返信設定を指定していて、管理者側、送信者側双方届きません…。

            サーバーのヘルプに「sendmailの代替案」的な感じでこんな記述がありました。
            【PHP】
            ○概要
            ・エンコードを行う
            ・接続情報作成
            ・mb_send_mailを使用

            ===サンプル===

            ==============

            mail.phpのどこかに記述したらうまくいくの…かなぁと思いつつよくわからなくて。
            ご参考になれば…。

            大変お手数をお掛けしますが、よろしくお願いします。

          • Maki より:

            すみません。
            ソースそのものだと消えてしまうんですね。
            間抜けでした…。

            【PHP】
            ○概要
            ・エンコードを行う
            ・接続情報作成
            ・mb_send_mailを使用

            ===サンプル===

            mb_language( “ja” );
            mb_internal_encoding(“EUC-JP”);

            $send = mb_convert_encoding( “本文”, mb_internal_encoding(), “SJIS” );

            $to = “送信元メールアドレス”;
            $from = “送信先メールアドレス”;
            ini_set( “SMTP”, “SMTPサーバ名” );
            ini_set( “sendmail_from”, $from );

            mb_send_mail( $to, $send, $send );
            print “OK”;

            ==============

  12. 利尻昆布WEB より:

    ずーと、出来なかったメールフォームが
    ついにっ!ついに!出来ました!
    本当に感謝しております!簡単でした^^
    まずは、PHPを書き換えてサーバーにFTPで上げてから
    htmlなのですね。感激しましたw

    • ken より:

      コメントありがとうございます。
      管理人です。

      はい、メールフォーム自体はいたって簡単です^^
      特にPHPを使えば。
      お役に立てれば幸いです~

  13. north より:

    PHP初心者の私は非常に助けられました。
    ありがとうございます。
    これでもうお問合せフォームで悩むことはなくなりました。
    さっそく活用します。
    あざーす(^_^)v

    • ken より:

      コメントあざ~す
      管理人です。

      はい~問い合わせフォームで悩む必要はありませ~ん。
      自分でも作るのもいいですが、配っているものを設置できればいいわけですからね。
      その分他の部分に時間を使えばいいだけです。
      餅屋は餅屋すよ~なんて。。。

  14. エナリ より:

    はじめまして。この度、会社の上司よりメールフォームを何とかする様にと言われ、連休中も家でパソコンと向き合っている者です。
    お恥ずかしいですが、CGIやPHPなどさっぱり??という状態です。。
    ご紹介して頂いているフォームを必要事項を変更後、自社のサーバーにPHPファイルとhtmlファイルの両方をアップして試してはいるのですが、送信ボタンを押すと『HTTP403アクセス不可』というページになります。こちらでご紹介頂いている事以外にも必要な作業などがあるのでしょうか。。素人で大変申し訳ないのですが教えて頂けますでしょうか。(ちなみに使用しているサーバーはリンククラブです)

    • ken より:

      エナリさん

      こんばんわ
      管理人です。

      ご質問のHTTP403アクセス不可ですが、
      おそらくですが、パーミッションあたりが怪しいですね。
      サーバーによってはまれにPHPファイルにもパーミッションの設定を行う必要があるサーバーがあります。
      ただ、お使いという「リンククラブ」のサイトを見てみましたが、
      そのような記述はざっと見た感じ見当たりませんでした。。。
      試しに777などを試してみてください。
      それで動けばビンゴということになります。
      ただ、セキュリティ的に問題がある可能性があるので、
      サーバーのマニュアル等を参照して適切なパーミッションに設定してください。
      ※お金を払ってサーバーを借りているんですからサーバー側に問い合わせるのももちろん有りですよ。

      PHPは動くようなので、そのあたりを確認してみてください。
      正直初耳のサーバーで知識は全くありません。。。ごめんなさい。。。

      • エナリ より:

        お返事有難うございます!
        パーミッションを変更する方向で頑張ってみます。
        まずはサーバー会社に質問してみようと思います。
        ホントにありがとうございました。^^

  15. KAZU より:

    無料のメールフォームを探していたところシンプルで使いやすいものに巡り合えました。
    送信等は問題なくできるのですが、Gメール宛に送信すると迷惑メールに振り分けられてしまいます。
    何か解決策があればお教え願えればと思います。

    また、複数に送信する場合は28行目は
    $to = “xxxxx@xxxx.com”,”yyyyy@gmail.com”;
    といった書き方でいいのでしょうか。
    お手数ですがよろしくお願いいたします。

    • ken より:

      KAZUさん

      管理人です。
      コメントありがとうございます。

      迷惑メールに振り分けられるとのことですが、
      こちらは管理者側でしょうか、それとも問い合わせユーザ側でしょうか?

      私の方では問題なく受信できています。
      ただ、Gmailに関しては申し訳ないのですが、ちょっとわかりかねますね・・・。
      送信元($toで指定するメルアド)をGmailではないものにするなどが考えられますが。

      メールアドレスを複数にする場合は

      $to = "xxxxxx@xxx.xxx";
      $to = "xxxxxx@xxx.xxx,xxxxxx@xxx.xxx";
      

      とします。あくまでダブルクーテーションは2つだけです。

      それでは解決されることを期待いたします!

      • KAZU より:

        ken様
        ご連絡が遅くなりまして申し訳ございません。
        教えていただいたように送信先メールアドレスの書き方を変更したら、迷惑メールに入らなくなりました。
        ありがとうございました。
        このような素晴らしいフォームをありがとうございます。
        これからもずっと使っていきたいと思います。

  16. 霜月 より:

    すごく軽量なフォームですね。びっくりです(^^)
    とくにエラーもなく説明もわかりやすく、すばらしいと思います。
    末永く使おうと思います。ありがとうございました(^^)ヾ

    • ken より:

      管理人です。
      コメントありがとうございます~~!!
      自分も末永く使ってます~~

  17. sino より:

    PHPでのメールフォームについて
    知恵をお借りしたくて辿り着きました。ありがとうございました。

    ひとつ質問させてください。
    テキストエリアの改行を確認画面に反映させるには
    どこに nl2br を入れれば良いでしょうか・・?
    様々探してみてるのですが良くわからず、
    コメントさせて頂いております。

    何卒よろしくお願い申し上げますm(_ _)m

    • ken より:

      sinoさん

      管理人です。
      コメントありがとうざいます。

      ご質問の件ですが、
      確かに確認画面では改行が無効になっていました。
      導入するのは難しくはなかったのですが、
      特定の要素だけにnl2brを効かせることは不特定多数の方が使うこの場合、困難なので導入を見送って来ました。
      ※途中で改変して変な不具合が出るのも困るので。
      が、この際導入しようかと考えています^^;

      以下のコードを追加するだけで実装可能です。

      mail.phpの240行目付近に以下2行

      $out=nl2br($out);//改行コードを<br>タグに変換
      $out=str_replace("<br />","",$out);//メールでは<br>タグ削除
      

      を以下の場所に追記すればOKです。
      ※追記場所に注意ください。

        if(get_magic_quotes_gpc()) { $out = stripslashes($out); }
        $out = htmlspecialchars($out);
        $out=nl2br($out);//※追記 改行コードを<br>タグに変換
        $key = htmlspecialchars($key);
        print("<tr bgcolor=#ffffff><td class=\"l_Cel\">".$key."</td><td>".$out);
        $out=str_replace("<br />","",$out);//※追記 メール送信時には<br>タグを削除
      

      この場合、特定の要素(textarea)だけではなく、
      すべての要素に対してnl2brを実行していますが、改行が含まれるのはtextareaだけなので、
      実質他の要素には影響が無いと考えています。

      こちらでのテストでは特に問題なく動作しています。

      お試しください。
      貴重なご意見感謝致します。

      近々配布版にも実装してみたいと考えています。
      それでは~~^^/

      • sino より:

        わぁ、ばっちりです。
        勉強しないといけません。
        というか、勉強させて頂いています。
        本当に、ありがとうございました。
        配布版、楽しみにしております。

        今後とも、何卒よろしくお願いいたしますm(_ _)m

    • こっぺぱん より:

      はじめまして。phpでのメールフォームを探していてこちらのサイトへきました。
      utf-8版を利用させていただいたのですが試しにメールを送ってみたところ確認画面、送信完了画面共に表示されるのですがphpで指定しているアドレスへメールがうまく受信されません。
      サーバーは自分で立てておりCentOS6.3を利用しています。apache,phpの導入も完了しています。
      MTAやメールサーバーなどの導入も必要なのでしょうか?
      足らない設定などあれば教えていただけませんか?

      • ken より:

        管理人です。
        返信が遅くなりまして申し訳ないです。。。。

        ご質問の件ですが、
        はい、確かにapacheとphpがあるだけでは送信はできません。
        メール送信のためのSMTPなど設定が必要になります。
        が、自分はローカル環境での送信は試したことがありません。。。。
        サーバーにアップしての送信がもっとも手っ取り早いとおもいますので
        このプログラムをいじる際も確認画面までのテストで充分で、
        あとはサーバーにアップしてテストしています。

        もちろん自前のサーバーでも設定すれば可能と思いますが、
        経験がありません。。。
        お役に立てず申し訳ないです。。。。

  18. ひよこ より:

    こんにちは、とてもわかり易いPHPテンプレート、ありがとうございます。
    ものすごく助かります。

    現在、サイト製作中で、管理者側をヤフーメール、Gメール、に設定して動作テストしてみたのですが、どちらでも受信できずにいます。迷惑メールにも入ってきていないようです。@PAGES(アットページズ)という無料サーバーに仮アップしてテストしているのですが、そちらのサーバーが対応していないのでしょうか。。バージョンは、PHP-5.2系と記載されていました。
    画面上は、「送信されました」と表示されているのですが・・・。

    PHP全く出来ないもので、ややこしい質問をして申し訳ありません。
    ご返答いただければありがたいです。

    • ken より:

      返信が遅くなりましてすみません。。。
      管理人です。
      最近質問を多くいただくのですが、対応しきれてません。。。
      申し訳ないです。。

      ご質問の件ですが、申し訳ないのですが、無料サーバーでの動作に関してはまったく把握しておりません。
      該当のHPを見ましたが、PHP5.2系らしいので、理屈では問題なく動作するはずですが、
      全体的に情報が少なすぎてわかりませんでした。。。
      無料サーバーの場合、なにかしらが問題になっているケースが考えられますが、
      わからないというのが本音です。

      申し訳ないです。。。。

  19. 虞時 より:

    こんにちは。
    こちらのPHPをDLさせて頂き、設定を行い
    早速やってみたのですが、確認画面で
    PHPのNoticeエラー
    (Notice: Undefined variable: err_message in E:\HP\hp\regist\mail.php on line 219)
    が出て、それを無視して送信するボタンをクリックすると画面は進むのですが、
    メールが届きません。届けるメールアドレスに
    自宅メールサーバーとプロバイダの両方を試してみましたが、
    両方とも届きませんでした。
    あと文字化けしているところもあります・・・、何が原因なのでしょうか??

    設置しているところは自宅サーバーで、
    Windows7 64bit
    Apache2.4.2
    PHP Ver.5.4.4
    という環境です。
    (別の話になるのですが、PukiwikiがPHP Ver.5.4以降からPHPの構文が変わり動作しなくなったと聞いたのですが、関係あるのでしょうか?)

    エラー時のSSはこちらです。
    ttp://www.guzoku.net/images/mail.JPG

    • ken より:

      お返事遅くなりまして申し訳ないです。。。。
      管理人です。

      ご質問の件ですが、
      Noticeエラーはおそらくレンタルサーバーでは出ないかと思います。
      ※Noticeエラーは実際はエラーではなく、注意程度のものになります。
      ちなみに該当のNoticeの意味は「変数がセットされてませんよ~」になります。

      自宅の環境の場合、メール送信のための特別な設定が必要になりますが、お済みでしょうか?
      ※レンタルサーバーはこのあたりの設定が済んでますので、問題にはなりません。

      文字化けですが、これはおそらくですが、フォームページの文字コードとmail.phpの文字コードが違うために起こることがほとんどです。
      こちらも合わせて確認してみてください。

      最近返信が遅れ気味です。。。
      申し訳ないです。。。。

  20. yamari より:

    はじめまして。こちらのフォームを見つけてやっとメールが設置できました。
    そこで、少々質問です。
    テスト送信で余計な項目が発生します。
    【 お名前 】 あ
    【 E-mail 】 あ
    【 text 】 てすと
    【 x 】 31 ←ここ
    【 y 】 6 ←ここ
    ほとんどPHPの知識が無いので、これらがどこからやってきたのか分からず悩んでおります。
    このような状況での質問は失礼かと思いましたが、宜しくお願い致します。

    • ken より:

      遅くなりましてすみません。。。
      管理人です

      解決済みでしょうか?
      これはおそらく送信ボタンに画像をしているからでしょうか。
      ちょっと試したことがないので断定はできませんが。。。。

      対処法はあると思いますが、
      とりあえず配布版に実装するのは難しいかもしれません。。。
      送信ボタンにCSSで背景画像として指定すれば解決できそうですが、どうでしょうかね。。。

      回答になっってなくてすみません。。。

      • yamari より:

        お返事ありがとうございます!遅いだなんてとんでもないです。お忙しい中お手間かけて申し訳なく思っています。

        原因はおっしゃる通り、「送信ボタンに画像」だったと思います。背景に画像を持ってこれば良さそうなんですね。なるほど、やってみます。ありがとうございました!感謝です!

        • ken より:

          下記でも同じご質問があり、以下のような回答をしていますので、ご参考まで。
          実際に試してみてうまくいっています。
          次回アップデート時に修正を検討しますが、
          とりあえずでしたらCSSで背景画像として指定されてはいかがでしょうか?

          HTML側

          <input type="submit" value="確認する" id="submit_btn" />
          

          CSS側

          #submit_btn{
              background:url(../submit.jpg) no-repeat;
              width:200px;
              height:40px;
              border:0;
          }
          

          こんなかんじで指定すれば同じことが再現できるはずです。

  21. takahiro より:

    初めてホームページを作って1番苦戦していたのがメールフォームでしたが、こちらのサイトで配布されていたフォームですぐに出来上がりました!

    まったくPHPの知識が無かったのでプルダウンの設置で少し悩みましたが、サイトをよく観て解決しました。

    とても勉強にもなりました、本当に感謝していますm(_ _)m

    • ken より:

      管理人です。
      いえいえお役に立てて光栄です。

      この手のプログラムは設置の容易さが最重要と考えています。
      こんなことに時間かけずにデザインなどその他に時間をかけるほうがよっぽど良いですよね^^

  22. hansei より:

    素晴らしいフォームですね。設定は、cgiよりだいぶ簡単に思います。
    が、ヤフーのgeocitiesのサーバーに移植としましたら、フォームのメールアドレスにヤフーサーバーのメールアドレスを入力しないと、どこかへ送信したか分かりません。(phpに送信先のアドレスはヤフーメールアドレスを設定して、届きません。別のサーバーメールアドレス(例えばhotmail)に設定して、そして、ファームMail(半角)にこのファームを入っているサーバーのメールアドレスを入れないとメールは届きません。
    サーバー自体の制限か?
    今使っている別のメールフォームは同じ設定でも使えますが。何か解決方法をお教え頂きたく思います。
    宜しくお願いします。

    • hansei より:

      上記の件は、こちらの設定が間違いました。今は通常に動いています。
      ありがとうございました。
      本当に簡単に設定出来ますので、大変お勧めです。

      • ken より:

        管理人です。

        解決したとのことでほっとしています^^
        それでは~~^^/

  23. gansan より:

    htmlとcssをちょっと勉強しただけで頑張ってホームページを作っていましたが問い合わせフォームの作成でPHPがわからず行き詰っていました。
    わかりやすい説明入りのフォームをご提供いただけたのでなんとか形になりました。ありがとうございました。

    • ken より:

      管理人です。
      いえいえ~コメントありがとうございます。
      ヤル気が1上がりました!^^

  24. HK より:

    メールフォームを探してこちらに辿り着き、その使いやすさに驚いております。

    ひとつ質問がありまして、
    メールアドレスを複数設定しているのですが、
      $to = “xxxxxx@xxx.xxx,ggggg@ggg.ggg”;
    この場合、フォームからの送信者にはこの二つのアドレスが両方とも知られてしまいます。
    (メールの本文には書かれていませんが、返信しようとすると宛先に上記のアドレス二つが設定されているという状況です)

    これを相手に伝わるのは「xxxxx@xxx.xxx」だけで「ggggg@ggg.ggg」は伝わる事の無いように変更できるのでしょうか?

    お忙しい中申し訳ありませんが、ご返信頂けると幸いです。
    よろしくお願い致します。

    • ken より:

      管理人です。
      コメントありがとうございます。

      ご質問の件ですが、これは仕様になります。。。
      ごめんなさい。。。
      なので、1つのアドレスだけにしたい場合は、設定アドレスは1つにして、サーバー側などで転送設定などで対応いただけますでしょうか。

      対処法はあるにはあるのですが、配布版に実装するのは厳しそうです。。。が、
      検討してみます。

      貴重なご意見ありがとうございます。

      • HK より:

        お忙しい中のご返信ありがとうございます。

        今回は転送設定で対処しようと思います。
        こういったカスタマイズも自分で対処できれば理想的だなと思い、自分もPHPを勉強してみようという気になりました。

        これからも利用させていただきます。
        ありがとうございました!

  25. 専門学生のSUKIZUKI より:

    宮城県の専門学生です。
    このPHPメールフォームは、すでにSSLに対応しているのでしょうか。

    • ken より:

      管理人です。
      コメントありがとうございます。

      私も宮城県出身です^^

      遅くなりましてすみません・・・・

      こちらSSLはサーバー側で設定するものなので、プログラムとは関係がありません。
      SSLを設定している領域に設置すればSSLでの送信ももちろん可能です。

      共有SSLでも独自SSLでも問題なく動作するはずです。
      SSLについてはそこまで詳しくはないので、割愛させていただきますが、
      独自SSLであれば別途契約等が必要になります。
      共有SSLの場合、ブラウザによってはセキュリティの警告画面が表示されてしまうなどの問題もあります。
      ※ちょっとわすれましたが、IE系で出たと思います。

      このあたりも考慮されて調べてみてください。
      健闘をお祈りいたします^^

  26. こっぺぱん より:

    以前質問したものですが進展があったので追記します。
    メール受信はアドレスを変更することでできました。
    はじめはGmailにて受信させようと試みたのですが上手く行かずそのあとYhooでもむりでした。そのあとにプロバイダのSo-netのアドレスにかえると受信できました。
    できればGmailにて受信させたいのですがなにか方法はないでしょうか?
    またhttpdのログを見るとmail.phpの219行目のerr_messageの定義がされていない?というかんじのエラーがでています。考えてみたのですがよくわからないのでよろしければお教えいただけませんか?

    • ken より:

      先程も返信してしまいましたが、送信は解決されたんですね^^
      う~んなんでしょうね。。。私の場合、Gmailでも問題なく送受信できています。
      また、
      「err_messageの定義がされていない」
      はい、その通りです^^;確かに定義されていないので、Noticefが出ていましたが、
      送信にはまったく問題はありません。また一般的なレンタルサーバーではそのようなエラーは出ないかと思います。

      ので、原因はちょっと不明ですね。。。Gmailは迷惑メールにも入ってないんですよね。。。

      念のためここは今回のアップデートで改善しました。

  27. ほんもんじい より:

    この一ヶ月、メール環境が出来ずに悩んでいます。 ようやくたどり着いたという感じがしています。 これからやってみます!!

    • ken より:

      コメントありがとうございます。
      はい!頑張ってみてください!
      簡単ですから^^

  28. naka より:

    メールフォームを探していてこちらにたどり着きました。
    とても使い勝手の良さそうで、導入を検討しています。
    そこで質問なのですが、同サイト内に複数のメールフォームを設置したいのですが、
    こちらのフォームは複数設置も大丈夫でしょうか?
    また可能な場合、同じ階層に「contact.html」「mail.php」のファイル名を変えて複数内包させた方がよいのか、
    フォームの数だけ階層を作り(例:「form01/」「form02/」「form03/」…)その中に「contact.html」「mail.php」をそれぞれ内包させるのと、どちらが良いでしょうか。
    特に問題がなければよいのですが、何かしらオススメの方があれば教えていただけますか?

    よろしくお願いします。

    • ken より:

      管理にです。
      遅くなりました。。。

      もちろん複数設置も可能です。
      その場合、当然フォームのファイル名、PHP側のファイル名も変更する必要がありますが、
      設置場所は特にどこでも問題ありませんが、
      どこかフォルダにまとめて置いたほうがいいでしょうね。
      このあたりは好みもあると思いますので、
      正解はないと思いますが、フォームとPHPの場所はそれぞれ同じ階層に置いたほうがミスが無いのかなと思います。

      自分の場合、元々雑な性格なのでサイトによりいろいろになってしまってますがね^^;

  29. min より:

    初めまして。
    こちらのメールフォームを使用させて頂いた者です。
    とても簡単に設置が出来て、今後も是非使用させて頂きたいと思っております。

    PHPはほぼ分からないので、このようなフォームをお作り頂き、とてもありがたく思っております。

    それで、質問なのですが、送信ボタンをイメージ画像にした時に、確認画面にてそのイメージ画像のx軸とy軸が出現するようになりました。

    そちらのx軸y軸を非表示にする事は出来ますでしょうか。
    HTMLファイルの送信部分は、

    としております。

    お手数をお掛けしまして大変申し訳ございませんが、どうぞ宜しくお願い致します。

    • ken より:

      管理人です。
      遅くなりまして・・・・

      なるほど、input imageにするとそのようになるのですね、、、
      試したことがなかったのですが、確かに出ますね・・・

      次回アップデート時に修正を検討しますが、
      とりあえずでしたらCSSで背景画像として指定されてはいかがでしょうか?

      HTML側

      <input type="submit" value="確認する" id="submit_btn" />

      CSS側

      #submit_btn{
      	background:url(../submit.jpg) no-repeat;
      	width:200px;
      	height:40px;
      	border:0;
      }
      

      こんなかんじで指定すれば同じことが再現できるはずです。

      貴重なご意見感謝いたします。ありがとうございます。

      • min より:

        お世話になっております。
        質問へのご回答、誠にありがとうございました!

        背景画像での解消方法が思いつかず、すみませんでした^^;

        無事解決しました。
        これからも使用させて頂くかと思いますので、何卒宜しくお願い致します!

  30. min より:

    すみません、HTMLの部分が非表示になってしまってますね;

    input type=”image” src=”images/sousin_botton.png” value=”送信” title=”送信”

    タグのまま送ってしまってましたので、中身だけ再送致します。

    どうぞ宜しくお願い致します。

    • ken より:

      管理人です。上記で回答させていただきましたので、
      ご参考になさってください。

  31. imoc より:

    お世話になっております!php初心者です。
    すごく分かり易くて本当にたすかっております。

    ひとつ質問です。確認画面時に表示させるページもhtmlに呼び込みたいのですが可能なのでしょうか?

    • ken より:

      管理人です。

      はい。可能です。
      また今回のアップデートでHTMLの編集がしやすいよう改善しましたので、
      コード内のコメントを参考に確認画面をカスタマイズ可能です。
      もちろん改変は自己責任でお願いしますね^^;

      • imoc より:

        了解しました!!神様に見えます(笑)
        ホントにお世話になりました!ありがとうございました。

  32. imoc より:

    たびたびすみません!ラジオボタンは使えたりするのでしょうか?

    • ken より:

      管理人です。
      はい、フォームパーツはすべて使えますのお試しください^^

  33. より:

    初心者なので出来なかったメールフォームを使用させてもらっています、本当に感謝しています。ただ本当に初心者なのでXAMPP通して試してみたけれども送信した際にしたのコメントが出てきました。
    Warning: mail() [function.mail]: Failed to connect to mailserver at “localhost” port 25, verify your “SMTP” and “smtp_port” setting in php.ini or use ini_set() in C:\xampp\htdocs\Update website\mail.php on line 207
    実際にサーバーにアップしないと送信できないですか?
    php.iniのMail functionのSMTPを変えなきゃいけないでしょか。
    すいません、お手数おかけしますが、
    お答えいただければ助かります。

    • ken より:

      管理人です。

      はい、そのままではXAMPPでのメール送信はできません。
      「XAMPP メール送信」などで検索されればたくさん出てきますが、
      本番環境で試されるのがもっとも手っ取り早いとおもいますよ。
      本番でテストすることが問題になるケースはまず無いと思いますので。
      ※もちろんテスト時はメールアドレスをお客さんではなく自分のものにする必要があるかと思いますがね^^;

  34. mm より:

    こんにちは、とても使いやすそうなメールフォームなので
    ぜひ使わせていただきたいのですがメールが全く届かず困っています。
    とりあえず設定は上手く出来たようで、確認画面までは表示されるのですが、
    そのあと送信をしてもメールが届きません。
    サーバーはビッグローブを使用しています。

    ご指南いただければ助かります。よろしくお願いいたします。

    • mm より:

      こんにちは、自己解決しました。
      sendmailの登録を行ったところメールが届くようになりました。
      メールフォーム、ありがたく使わせていただきます。
      どうもありがとうございます!!

      • ken より:

        遅くなりましてすみません・・・・
        管理人です。

        返事が遅いそうで自己解決されたそうで申し訳ないです。。。。
        解決されてなによりです^^;

  35. kan より:

    はじめまして。 今回学校のHPにメールフォームを入れたいとお願いされ作成をしています。そこで、簡単でシンプルな物はないかと検索したところ、このページを見つけました。しかし、お恥ずかしいですが、CGIやPHPなど全くわからない状態です。 必要事項を変更し、県のサーバーにPHPファイルとhtmlファイルの両方をアップして試してみましたが、送信ボタンを押すとPHPコード?が出てきます。素人で大変申し訳ないのですが教えて頂けますでしょうか。

    • ken より:

      管理人です。
      コメントありがとうございます。
      PHPコード?ですか?
      ちなみにどういったものでしょうか。
      差支えがなければ教えてください。

      基本的にはPHPが動く環境であれば動作するとは思いますが、
      サーバーによっては。。。て感じですね。。。

      また、送信はできるのでしょうか?

      そのあたりいただければ解決できるかもしれません。

  36. ken より:

    回答ありがとうございます。
    言葉足らずですみません。
    必須項目を入力後、送信ボタンをクリックすると、PHPファイルの文字がそのまま表示されています。CGIは使えると確認はしたのですが、PHPとはまた別モノなのでしょうか?すみません宜しくお願いします。

    • ken より:

      管理人です。
      なるほど。。。PHPが動いていないようですね。。。
      そうですね、レンタルサーバーでCGIが使えてPHPが使えないというサーバーが今の時代存在するかどうかは微妙ですが、
      考えられるのは「PHPが動いていない」ですね。

      お使いのサーバーのマニュアル等を確認してみてください、またはレンタルサーバーならお問い合わせしてみるのも有りです。

  37. ken より:

    すみませんマニュアルを読んでませんでした。
    本当にすみません。回答ありがとうございました。

  38. kaz より:

    素晴らしい!! ありがとうございます!!!
    初めてお問い合わせフォームが設置できました\(^O^)/
    説明が良いのか作品が良いのか? 
    いえ、どちらも良いのだと思います。

    以前のコメント(2012.10.23質問 10.29回答)に
    複数のアドレスを設定すると全てが表示されてしまう…
    とあり、私も同じ質問をしたかったのですが、今はまだ
    ダメだと判りました。BCC設定が出来るのを待っています。

    素晴らしいお問い合わせフォームを本当にありがとうございました。

    • ken より:

      管理人です。
      コメントありがとうございます。

      ですよね。。。。BCC。。。実装を検討してみますね。。。

  39. kaz より:

    先日。niftyのホームページにお問い合わせフォームが初めて設置出来たので、嬉しくて調子に乗って、以前失敗したBIGLOBEのホームページに設置を試みました。…が、BIGLOBEはPHPは使用不可でダメでした。

    で、CGIの設置を試みました。難しいので、取り敢えず変更しないでそのままアップしました、チェックモードはうまく表示されたのですが、postmail.cgiにアクセスすると『不正なアクセスです』と表示されます。表示されているので、アップ自体は成功しているのかと初心者は考えます(^^ゞ

    まだ、中身を変更していないからでしょうか?CGIはこのページではないので、お返事は要らないです。明日も家事しながら頑張ります。
    どの作品も素晴らしいです。 ありがとうございました。

  40. peony より:

    こんにちわ。

    初めてサイトにcgiでメールフォームを実装しようとこころみて、こちらのサイトに辿りつきました。
    とてもわかりやすく、mail.phpを入れて送信したところちゃんとメールは送られてきました!
    ありがとうございます!
    しかし、contact.htmlはデザインの関係上自分で作成したものを使っておりまして、の中を

    お名前
    Eメール
    メッセージ

    としてるのですが、送られてくるメールに「名前」と「メッセージ」がのっていません。
    これはどこのコードを変えれば名前とメッセージを取得できるようになるのでしょうか。

    なにぶんphpの知識もcgiの知識がまったくないもので、教えて頂けると嬉しいです。

    • ken より:

      peonyさん

      管理人です
      ご質問の件で確認なのですが、

      >お名前
      >Eメール
      >メッセージ
      >としてるのですが、送られてくるメールに「名前」と「メッセージ」がのっていません。

      こちらはどこに指定しているのでしょうか?
      基本的なタグは以下になります。(最低限これだけで正常に受信できます)

      <input type="text" name="名前">
      

      これの「名前」(name属性の値)の部分とそのフォーム項目に入力された情報(ユーザが入力した情報)がセットで送られるようになってます。

      受信メール

      【 名前 】 入力された文字列

      このようにメールが送られてきます。
      まずはどの部分に「お名前」などを指定したのかと、
      そしてinputタグ部分はどのように記述されたのか、
      そして受信されたメールはどのような表記になっているのかをご確認の上、教えていただければ解決出来るかもしれません。

  41. peony より:

    上の書き込みをしてものです。

    tagが見えなくなってしまったので、再度書きます。

    “”お名前”"”"
    “”Eメール”"”"
    “”お名前”"”"”"

    これで、わかりますでしょうか?

    • ken より:

      管理人です。
      ご質問の件につきまして、
      上記にて回答しましたのでご確認ください。

  42. gen より:

    このサイトを見て大変参考になりました。メールフォームのmail.phpを自分で作ったcontact.htmlで使おうと内容を一部変更してサーバーにアップしたところ必須項目をすべて入力したにもかかわらず送信をクリックしたら入力エラーと表示され入力した各項目がすべて未選択ですとメッセージが出ます。どこか気になる箇所はございますか?ご指導よろしくお願いします。

    • ken より:

      genさん
      管理人です。

      ご質問の件ですが、
      ご自分でフォームページを用意されているとのことですが、
      そこのページのname属性の値と、mail.php内の必須項目の値を記述する部分の値は一致してますでしょうか?
      たとえばmail.php側が以下のようになっている場合、

      $eles = array('名前','Email');
      

      この場合、フォームページ側のname属性の値は以下のようにしなければなりません。

      名前 <input size="20" type="text" name="名前" /> 
      メールアドレス <input size="30" type="text" name="Email" />
      

      このあたりをご確認ください。
      またはフォームページの文字コードとmail.phpの文字コードが違っていても同様の現象が起きます。
      ※この場合確認画面内で文字化けしているので、当てはまらないかもしれませんが。

  43. so より:

    はじめまして、こちらのフォームを使わせてもらっています。

    そこで質問なのですが、
    メールアドレスに間違ったアドレスを記入した際、サーバーエラーとなってサーバーエラーページにとんでしまいます。対応する方法ありますでしょうか?

    • ken より:

      管理人です。

      ご質問の件ですが、
      こちらではそのような再現はありませんでしたが、
      間違ったアドレスとは「存在しないアドレス」ということでしょうか?
      基本的に間違ったアドレスであっても強制的に送信されるはずで「エラー」等は出ないと考えていますが、
      サーバーによってはその限りではないかもしれません。

      エラーだけをとりあえず出さない方法としては以下が考えられます。

      mail.phpの200行目付近、以下の箇所を

      if($remail == 1) { mail($reto,$resbj,$rebody,$reheader); }
      

      これを

      if($remail == 1) { @mail($reto,$resbj,$rebody,$reheader); }
      

      とすればエラーは出ないと思いますのでお試しください。

  44. いつも大変お世話になります。

    記載したwebサイトで、こちらのフォームを利用させていただいているのですが、
    フォームページの確認までは大丈夫なのですが、その後「送信」しようとすると
    「Internal Server Error」になってしまいます。

    必須項目などもきちんと反映されており、確認画面までは出るので、mail.phpは読み込まれているのですが、その後のメール送信だけできません。

    当方さくらインターネットのレンタルサーバーを利用しており、
    PHPバージョンは5.2.xです。

    何が原因で送信ができないのでしょうか?

    お忙しい中大変恐縮ですが、お答えいただきましたら幸いです。
    よろしくお願いいたします。

    • 自分で色々調べた結果、自己解決いたしました><
      大変お騒がせいたしました。

      ちなみに、問題だったのが、必須項目と実際のフォームのnameに「メールアドレス」を使ってしまっていたのが原因でした。
      「Email」と双方したところ、問題なく結果画面もでました。

      取り急ぎ報告まで。

      お騒がせして申し訳ございませんでした・・・

      • ken より:

        管理人です。

        自己解決されたとのことで一安心です^^
        ご丁寧に何度もコメントいただきありがとうございます。

  45. すみません。
    前述の追記なのですが、メールは届いておりました。
    送信結果画面がうまく表示されず、Internal Server Errorになるようでした。

    大変しつれいいたしました。

  46. さらに追記です。何度も申し訳ありません。

    送信完了ページの自動設定を
    $jump_page = 0;
    としても送信完了ページが表示されませんでした。

    $jump_page = 1;
    として、
    $thanks_page = “http://www.shiow.net/thanks.html”;
    にしても表示はされず・・・

    です。

  47. moe より:

    はじめまして。
    会社で作成しているHPの問い合わせフォームを探していて
    見つけました。すごくシンプルでいてきちんと表示されるので
    とてもありがたいです。phpプログラムなどが全く分からない中で
    の製作だったので凄く助かりました。

    ところでこのフォームですが、項目を増やすことは可能なんでしょうか?
    見よう見まねで項目を増やしてみてもエラーになってしまって・・・。
    やり方をご教示頂ければ助かります。
    宜しくお願いいたします。

    • ken より:

      管理人です。

      ご質問の件ですが、
      もちろん項目はいくらでも増やせます。

      また増やした場合でも自動で取得、送信します。
      ※mail.phpは特に変更の必要はありません。
      ただ、項目を増やした際、
      name属性の値は必ず変更が必要です。

      同じname属性の値が1ページに2つあってはならないということです。

      たとえば「住所」の項目を増やす場合、フォームページののHTML上で

      名前 <input size="20" type="text" name="名前" />
      住所 <input size="20" type="text" name="名前" />
      

      ではだめで、

      名前 <input size="20" type="text" name="名前" />
      住所 <input size="20" type="text" name="住所" />
      

      とする必要があります。

      このあたりを確認してみてください。

  48. サイト製作中でPHP勉強しようにも間に合わなく問合せフォームをどうするか
    悩んでいました><
    スッゴイ複雑で中身が全然わかりませんが勉強しながら頑張ります。

    • ken より:

      管理人です。

      まぁ中身を知らなくても設置できればいいのではないでしょうか^^;
      というのが持論です(笑)
      でも自分で出来るようになるのも良いかと思いますので、
      ぜひ頑張ってください^^
      ※1ファイルにすべてまとめているため、複雑になってしまい読みづらい点もあるかと思います。。。

  49. uematsu naoyuki より:

    ありがとうございます。
    自身のサイト内でメールフォームを完結できるとは、こちらを見つけるまでは思っていませんでした。広告を我慢するか、有料のものを利用するか悩んでいたのは、ほんの数時間前。なのに今、ちゃんと働いてくれるフォームメーラーができあがって満足です。できるんだ~
    分かりやすい解説とmail.php内の詳しいコメントで、PHPが分からない私でも必要なカスタマイズができました。感動です!

  50. tetsu より:

    1から組むのが億劫だったので、使わせて頂きました。
    気になった点を1つ

    // 送信確認画面の表示(する=1, しない=0)
    $chmail = 0;
    // 必須入力項目を設定する(する=1, しない=0)
    $esse = 1;

    という設定をした場合に、必須項目が入力されていなくても
    スルーされてしまう様です。

    必須項目が入力されていない場合の処理が、確認画面の表示部内に記述されていることが原因のようです。

    送信終了画面の表示部内、直下にも

    入力エラー

    〜表示部〜

    と入れるか、処理を外に出すかした方がいいかと思います。

    • tetsu より:

      すいません、PHPのソースをコピペした部分がエラーとなって分かりづらくなってしまいました。
      if($empty_flag == 1)
      の条件分岐を送信完了画面の頭にも入れておくと、さしあたっては
      解決しますね、という内容でした。

      この修正と、メアドと電話番号の形式チェックを個人的に追加しました。

      今後とも、このツールがより多くの方々の助けになることを期待しております。

      • ken より:

        tetsuさん

        管理人です。
        コメントありがとうございます。

        また、ご指摘ありがとうございました。
        確かに確認画面の表示を「無し」に設定した場合、必須項目はスルーしてしまっておりました。
        今まで確認画面を表示しない設定での運用をしたことがなかったため、
        気づきませんでした・・・

        ご指摘いただきました点、改良させていただきました。
        すでに改良版を配布しております。

        この場を借りて深く感謝申し上げます。

  51. futsuo より:

    PHP勉強の時間があまり取れず、フォーム作成が進まなかったのですが、簡単で使い勝手がとても良いフォームを本サイトで見つけ、利用させていただき本当に感謝しています。利用においては、少し改変してアンケートフォームとさせていただきました。
    ウエブサイト作成の苦労記を後々に書く際、このサイトと私の助かった~経験を紹介させていただこうと思いますが、よろしいでしょうか。

    • ken より:

      管理人です。
      お返事が遅くなりまして大変恐縮です。。。
      近頃返信がかなり遅れ気味になっております。
      すみません。。。

      コメントありがとうございます~
      もちろん自由に掲載してくだい~^^

  52. Yukari より:

    はじめまして、大変使いやすいプログラムを提供していただき
    ありがとうざいます。
    CGIやPHPの知識はなくて、メールフォームで苦戦しておりましたので、本当に嬉しいです!
    設置テスト中なのですが、独自ドメインのメールアドレスにメールが届かず(送信までの操作は問題なく進んでいます)、検証中です。
    ただ今、送信先に複数メールアドレスを指定して確認しましたところ、
    Gmailのアドレスには届くのですが、独自ドメインのアドレスとitscomプロバイダのアドレスにはメールが届きません。
    現在は、独自ドメインのサブフォルダにindexページを含め、フォームのページ、mail.phpも配置しています。
    独自ドメインは@WAPPYのレンタルサーバーを利用しています。
    また、独自ドメインとitscomプロバイダのメールアドレスは、outlookで受信しています。何か設定で確認した方がいい点などあれば、教えていただきたいと思ってコメントしました。

    • ken より:

      管理人です。
      お返事が遅くなりまして大変恐縮です。。。
      近頃返信がかなり遅れ気味になっております。
      すみません。。。
      コメントありがとうございます

      片方には届いているのであればおそらくもう一方の受信設定等に問題がある可能性が高いです。
      すでに解決済かもしれませんが、他のアドレスで試すなどしてみてください。

      • Yukari より:

        お忙しい中、返信ありがとうございます。
        Gmail系の別アドレス(独自ドメイン)で試したところ、問題なく受信できました。
        今のところitscomドメインやWappyサーバーの独自ドメインではまだ受信できないのですが、きっと受信設定の何かに問題があるのだと思います。とりあえず、何かのメールで受信できれば対応できるので、当面このまま使わせていただこうと思います。

  53. hyne より:

    シンプルで軽く動作するPHPのフォームを探してました。機能も十分ですし、最近、更新されているプログラムが多い中、貴重ですね。ひとつ、要望というかお聞きしたいのですが、ファイルの添付機能というのは付けられる予定はないでしょうか?探しているのですが、なかなか良いものが見つかりません。

    • ken より:

      管理人です。
      お返事が遅くなりまして大変恐縮です。。。
      近頃返信がかなり遅れ気味になっております。
      すみません。。。
      コメントありがとうございます~

      ファイルの添付は可能ですが、
      配布版に実装する予定は今のところございません・・・。

  54. imoc より:

    お世話になっております。確認画面におきましての編集について質問です。
    form内の内容を、質問の項目毎にテーブル内に表組にして表示させたいのですが、どうすればよいのか分かりません。

    できれば項目のタイトルとフォーム内容に対しての返答をTDで分けて、表示させたいのですのですが…
    ご教授の方宜しくお願いします。

    • imoc より:

      度々すみません。上記の件、無事表組にできました!お騒がせいたしました。。

  55. Zukke より:

    初心者です。とてもわかりやすい説明でしたのでトライしてみました。
    YahooジオシティーズでHPを立ち上げようとしているのですが、手順通りに進め(多分、どこかで作業がぬけてしまったのかもしれません…)メールフォームは表示されたのですが、「確認する」ボタンをクリックすると「このページは…」になってしまいます。考えられる「ミス」を教えて下さい(泣)

    • ken より:

      管理人です。
      お返事が遅くなりまして大変恐縮です。。。
      近頃返信がかなり遅れ気味になっております。
      すみません。。。
      コメントありがとうございます

      もう解決されましたかね。。。
      遅くなり申し訳ありません。。。

      Yahooジオシティーズでの導入経験はありませんが、
      有料版ではあればPHPは動くとは思いますが、「このページは…」となってるということはページが見つからないということでしょうかね。
      action=”PHPファイルのパス” の部分はどうなっていますでしょうか?
      例 デフォルトではaction=”mail.php” となっているはずです。

      このあたりをもう一度ご確認ください。まだ未解決でしたらコメントください。

  56. 公平 より:

    はじめまして
    問合せFORM Shift-JIS版をダウンロードした後にURLから起動しますと
    下記のエラーが表示されました。(http://localhost/phpbook/mail.php)
    186行 $rebody=mb_convert_encoding($rebody,”JIS”,”shift_jis”);で
    致命的なエラー:未定義で関数の呼び出しと表示します。
    初歩的な質問で申し訳ありません。
    ちなみにApache2, php で ”はじめまして”の1行は表示しましたので,
    動作環境は問題ないと思うのですが,他に設定があるのでしょうか。
    大変お忙しいことと思いますがご返答をお願い致します。
    os:Windows xp pro sp3 を使用しております。

    • ken より:

      管理人です。
      お返事が遅くなりまして大変恐縮です。。。
      近頃返信がかなり遅れ気味になっております。
      すみません。。。
      コメントありがとうございます

      エラーを見ますと、ローカル環境で試してらっしゃると思いますが、
      SMTP等の設定はお済みでしょうか?
      レンタルサーバーであれば大抵そのあたりはクリアになっていますので、動作するかと思います。

      また、「未定義で関数の呼び出し」となっていますが、
      これはmb_convert_encoding というPHPの関数が定義されてませんという意味になります。
      PHPのマニュアルにはphp 4.0.6 以上、php 5 環境で使えるとのことですが、
      お使いのサーバーのPHPのバージョン等をご確認くだしさい。サーバーマニュアル等にほぼ必ず記載があると思います。
      それではよろしくお願いしますー

  57. maido より:

    問合せフォームをどうするか悩んでますが、
    kenさんのこのプログラムは使いやすそうなので
    使わせていただきたいと考えております。

    ちなみにこのプログラムには、
    更新などをした際の
    2重投稿の防止などは
    考慮されているか教えてください。

    回答よろしくお願いいたします。

    • ken より:

      管理人です。
      お返事が遅くなりまして大変恐縮です。。。
      近頃返信がかなり遅れ気味になっております。
      すみません。。。

      コメントの件ですが、
      今のところ実装は予定しておりません。
      「更新」で2重投稿される率は低いと考えています。
      プログラムの仕様上、確認画面→終了画面と遷移しますので、
      終了画面にてブラウザの「戻る」を押して、かつ「更新」を押さない限り2重投稿にはなりませんので。

      的外れな回答でしたらすみません・・・^^;

  58. taka より:

    はじめまして。
    会社のHPを作ることになり、こちらのお問い合わせフォームを使わせて頂いてます。
    ものすごく助かってはいますが、初心者なものでトラブルがあると解決出来ない状態であります。。。
    サンプルをダウンロードしブラウザで開き、確認のボタンを押すと
    このウェブページは見つかりませんと表示されるのですが。

    自作のhtmlに設置し、ブラウザで開き確認を押すと
    文字化けした文字の羅列が表示されます。

    この場合どこがおかしいのでしょうか。
    ご指導の程よろしくお願いします。

    • ken より:

      管理人です。
      お返事が遅くなりまして大変恐縮です。。。
      近頃返信がかなり遅れ気味になっております。
      すみません。。。
      コメントありがとうございます

      まずはこの現象はサーバー上でのことでしょうか?それともご自分のPC環境でのことでしょうか?
      通常自分のパソコン上でPHPを動かすにはPHPが動くための環境を構築する必要があります。
      また、さらにメールのSMTPなどの設定も必要になります。
      レンタルサーバーであればこのあたりが不要ですので、設置→即送信が可能です。

      また文字化けは主にフォームのHTMLファイルの文字コードとPHPの文字コードが違う場合に発生します。
      フォームページの文字コードと同じ文字コードのプログラムをダウンロードしてみてください。

  59. KO より:

    お世話になっております。
    メールフォームを使わせていただいております。
    ご質問なのですが、submitボタン押下後、
    メーラーが自動に立ち上がってしまいます。
    立ち上がらない方法を教えていただけますでしょうか。
    宜しくお願いいたします。

    • ken より:

      管理人です。
      お返事が遅くなりまして大変恐縮です。。。
      近頃返信がかなり遅れ気味になっております。
      すみません。。。
      コメントありがとうございます

      メーラーですか?
      メールフォーム側のHTMLのaction属性はどうなってますでしょうか?
      action=”mailto:○○” などとなっていませんか?
      ダウンロードされたファイルのaction属性では
      action=”mail.php”
      となっているかと思います。
      このあたりをもう一度ご確認してみてください。

  60. KO より:

    メーラーが自動に立ち上がるのも解消しまして、お店のホームページに、組み込むことが出来ました!
    いいメールフォームが出来上がりました。
    ありがとうございます。

    • ken より:

      管理人です。
      すみません、解決されたんんですね。。。
      返事が遅くなってしまいすいません。。

  61. マスクマン より:

    PHPメールフォーム UTF-8版を使わせていただいたんですが、送信後Warning: Cannot modify header information…の表示が出てしまい任意のページに飛ばないんですがどうしたらいいでしょう?

    • ken より:

      管理人です。
      お返事が遅くなりまして大変恐縮です。。。
      近頃返信がかなり遅れ気味になっております。
      すみません。。。
      コメントありがとうございます

      そのエラーはリダイレクトのためのheader関数の前に
      なにかしらの文字列等がブラウザ上に表示されているために出るエラーになります。
      プログラムはどこかカスタマイズされたでしょうか?
      デフォルト状態では再現できませんでした。

      カスタマイズはもちろんOKですが、どこかに間違い等がある可能性があります。
      可能でしたら再度ダウンロードいただき、デフォルト状態で確認いただけるでしょうか。
      それでもエラー出る場合はご相談下さい。

  62. ishikawa より:

    こんにちは。
    今まで大変だったメールフォームが、こちらのphpフォームによってとても軽量になり感謝しています。

    先日、友人がsafariから開くとメールが送れないと指摘があり、見てみましたら、safariだけフォームから送信できませんでした。
    使用しているcharsetのはどちらもutf-8で問題なさそうなのですが、何が原因かさっぱりわかりませんでした。

    何か設定がおかしいのでしょうか?
    お忙しいとは思いますが、どうぞよろしくお願いいたします。

    • ishikawa より:

      すいません、解決しました~^_^;

      • ken より:

        管理人です。

        解決されたんですね^^
        よかったです。
        近頃返信が遅れ気味になっておりすみません。。。

    • ken より:

      管理人です。
      お返事が遅くなりまして大変恐縮です。。。
      近頃返信がかなり遅れ気味になっております。
      すみません。。。
      コメントありがとうございます

      Windows版のSafariにて確認しましたが、問題ありませんでした。
      こちらはMac環境でしょうか?
      基本的に問題無い気がしますが、Mac環境が今は無いため確認はできませんでした・・・。

      また送信できないとは具体的にどういったことでしょうか?
      正常に完了画面までは行くが、メールが届かないのか、確認画面や送信画面でエラー等が出るのか、
      そのあたりを教えていただければ解決できるかもしれませんが、
      そもそもMac環境での確認ができないので、どうしましょうね^^;。。。

  63. Sinji より:

    はじめまして。php初心者です。
    こちらのフォームを使わせてもらおうと思うのですが、
    確認画面でフォームから送られた値を続けて表示するにはどうしたらいいでしょうか?
    例えば
    【入力フォーム】
    姓 
    名 

    これを送信すると確認画面では

    姓 山田
    名 太郎

    となりますが

    お名前 山田太郎

    といった様に表示させるにはどの部分を変更すればいいでしょうか??
    よろしくお願いします。

    • ken より:

      管理人です。
      お返事が遅くなりまして大変恐縮です。。。
      近頃返信がかなり遅れ気味になっております。
      すみません。。。
      コメントありがとうございます

      こちらは若干面倒ではあります。が、
      確認画面のみであれば
      以下のように書き換えればOKと思います。
      ※とりあえず書いたのでもうちょっときれいに書けるかもしれませんが。。

      261行目付近の

      print("<tr><td class=\"l_Cel\">".$key."</td><td>".$out);
      

      の箇所を

      
      	if($key=='姓' || $key=='名'){
      	$tempKey .= $key;
      	$tempOut .= $out;
      	}
      	if($key!='姓' && $key!='名'){
        print("<tr><td class=\"l_Cel\">".$key."</td><td>".$out);
      	}elseif($tempKey=='姓名'){
        print("<tr><td class=\"l_Cel\">".$tempKey."</td><td>".$tempOut);
      	}
      

      に置き換えてください。
      その上でフォームページ(HTML)側の
      name属性を
      姓は「姓」
      名は「名」
      としてください。

      送信メール(送信者、管理者宛双方)も変更の場合は複数箇所の変更が必要なので、
      申し訳ありませんがカスタマイズ依頼として承ります。
      ただ、そこまでして実装するメリットがあるかどうかもご検討いただければと思います。

  64. nena より:

    初めまして
    こちらのメールフォームを使わせていただいたのですが、大量迷惑メールを送られてしまいました…ファイルが1枚というのはやっぱりまずかったみたいです
    クレームとかじゃないですよ!また更新される際などに参考になれば良いかと思ったのでコメントさせていただきました

    • ken より:

      管理人です。
      お返事が遅くなりまして大変恐縮です。。。
      近頃返信がかなり遅れ気味になっております。すみません。。。
      コメントありがとうございます。

      確かにスパムが送られて来ることは私も承知しております。
      これはこのプログラムに限らず100%防ぐことは困難です。
      ※もちろん対応策は複数あります。

      私も複数のサイトに実装しておりますが、
      実際にスパムが送られてくるのは多くても月に数回程度とそれほど気になるほどではありませんため、
      特に対策は行なっておりませんでした。
      このあたりは設置したサイト(サーバー含む)にもよるところかなと思います。

      もちろんほぼ完全にスパムを排除する方法も複数あります。
      ただ、配布版はフォーム側がHTMLファイルであることを前提にしていますので、
      なかなか実装が難しいのが現状です。フォーム側もPHPであればトークンなどを発行することもできます。

      HTMLでも比較的簡単に導入できることとしては、
      ユーザーに画面上の文字列を入力してもらういわゆる「キャプチャ」機能の簡易版があります。
      ※配布中の掲示板には実装しています。
      ※ただ、フォーム版に実装すっる場合はフォーム上に任意の文字列を表示させ、それを入力して貰う形となります。

      ただこれもユーザ側に負担を与えることになり、
      CV率が下がることも考えられるため、
      配布版への実装は難しいです。。。が検討してみます。。。

      リファラを取って、同じドメインからの送信で無い場合は送信できない。。。という手法もありますが、
      プログラムは外部のサイトに置きたいなどもあると考えられるので。。。

      ファイルが1つかどうかは基本的にはあまり関係はありません。
      実際ファイルが1つでも画面遷移は行われます。

      別に反論とか、そういうつもりはありませんので悪しからず^^;

      貴重なご意見本当に感謝しています。
      今後スパム対策についてもその方法等を掲載したいと考えています。

      ありがとうございました~!

  65. N T より:

    ずっとフォーム用のCGIを探してたのですが、いいものがなかなか見つからず、こちらを見つけて大変助かりました。phpがまったく分からない私でもとても使いやすくて、感激です!どうもありがとうございます!

    1点だけ、贅沢を言えば、お問い合わせメールの本文内の送信日時を、現在イギリスにいるため、現地の時間と同期させたいと思い、分からないなりに、mail.php内で、該当すると思われる箇所(utf-8版のmail.php 152行目)に、上の一行を追加してみました。

    date_default_timezone_set(‘Europe/London’);
    $body.=”送信された日時:”.date( “Y/m/d (D) H:i:s”, time() ).”\n”;

    今のところ希望したとおりに動作しているようですが、もしまずいやり方をしているようなら、ご指摘頂けましたら大変ありがたいです。でも、管理人様お一人で大変お忙しいかと思いますので、その際にはどうぞお気になさらず。

    いずれにせよ、こちらのフォームphpのおかげで、大変助かりました!本当にどうもありがとうございます。

    • ken より:

      管理人です。
      お返事が遅くなりまして大変恐縮です。。。
      近頃返信がかなり遅れ気味になっております。すみません。。。
      イギリスからコメントありがとうございます^^;

      ご質問の件ですが、それで問題は無いかと思いますが、
      タイムゾーンを記述する場合はファイル上部に記述することが一般的です。
      ただ、場所を変えたからといって不具合等は出ないかと思います。
      また、それで正常に送信できていれば大丈夫と思います。
      もしまずかったらプログラムの場合は、なんとなく動いてくれることはなく、
      画面上がエラー等で送信自体も行われません。

      またタイムゾーンの設定はマニュアルではPHP 5以上で対応とのことですので、
      他のサーバーに設置する際には注意が必要かもしれません。
      ※今時レンタルサーバーであればほとんど「5」以上と思いますが。

      ちなみに日本のサーバーを借りてらっしゃるのでしょうか。
      デフォルトではタイムゾーン設定は行っていませんので、
      基本的にはサーバー側の設定(サーバー設置国のタイムゾーン)が反映されます。

      • N T より:

        管理人様

        お忙しい中、ご丁寧なご説明を頂いて、本当にどうもありがとうございます。PHPやプログラミングの知識がまったくないので、大変勉強になりました。どうもありがとうございます。

        サーバーはアメリカにあります。メールの時間が、日本時間でもイギリス時間でもなかったのは、おそらくそのせいだと思います。ご説明を聞いてそう思いました。

        使いやすいフォームのおかげで、やっと念願のフォーム設置ができました。本当にどうもありがとうございます。

  66. akio より:

    サイト作成中にこの問い合わせフォームを見つけて感謝しております。
    テキストに入力し送信ボタンを押すと404になってしまいます。
    その前は確認画面までは出ましたが、完了画面が出ずに404になってしまいました。
    解決策をご教授いただけると幸いです。

  67. akio より:

    すみません自己完結しました。プログラムを使わせて頂き誠にありがとうございます。大変助かります。

    • ken より:

      管理人です。

      解決されたとのことで安心しました^^
      返信が遅いせいかもしれませんね。。。

      すみません。。。。

  68. yuk より:

    使わせて頂きました。大変助かりました。
    ありがとうございます!!

  69. hiro より:

    シンプルなメールフォームを探していたらここにたどり着きました!早速使ってみたのですが、自分でテストで書き込みしたところ、確認画面で表示されるのはアルファベット、数字のみで、名前やコメント欄を漢字やひらがなで書くと表示されておりませんでした。そして実際に届いたメールにはメールアドレスのみでした。素人なもので質問も荒く申し訳ございませんが、何かヒントを頂けたらと思います。どうぞ宜しくお願い致します。

    • hiro より:

      大変申し訳ございません!ダウンロードを間違えておりました!問題なく作動しております。素晴らしいメールフォームありがとうございます!!

  70. Yukiko より:

    プログラム全然ダメな私です。今回はとても助かりました。
    ありがとうございました!
    設置も簡単で、超感動でした!!!
    お礼が言いたくて、コメントさせていただきました〜。

  71. きりまる より:

    管理人様

    貴殿の PHPメールフォーム お問い合わせ用プログラム が
    「スターサーバープラス」で動作することを確認しましたのでご報告いたします。場合によって複雑な設定が必要なsendmailの設定が不要というすばらしいプログラムを公開してくださり、ありがとうございます。

    スターサーバープラス側の制限により、sendmailの送信上限が50通/日となっているようです。ただしこれはphpプログラム側の仕様ではないので、動作確認済レンタルサーバーに加えていただいても良いかなと思います。

    • ken より:

      管理人です。

      貴重なご報告ありがとうございます。
      今後参考にさせていただきます。

      まずは御礼までよろしくお願いします。

  72. こうへい より:

    さくらのレンタルサーバーで表示されました。ありがとうございました。

  73. nadera より:

    職場のホームページでフォームメールを作成中で、貴サイトを拝見いたしました。
    html初心者でベースのホームページはソースネクストのホームページZEROで作成しました。
    とても簡単な設定なので早速導入してみましたが、確認の画面に移行しようとすると「Forbidden」が返ってきてしまいます。

    mail.phpは入力のページと同じところにアップしました。urlは下記のとおりです。
    http://www.naderanomori.or.jp/99_blank001.html

    サーバーはbiglobeですが、調べうる限りは試してみましたが困っています。
    大変勉強不足を承知の上ですが、アドバイスいただければ幸いです。

    • nadera より:

      先日ご連絡いたしましたが、自己解決いたしました。
      サーバー側の指定のPHPファイルへパス記入と属性指定を設定したら受信できるようになりました。

      これからも利用させていただきます。

      • ken より:

        管理人です。
        コメントありがとうございます。またお返事が遅くなりまして申し訳ありませんでした。。。

        解決されたとのことで安心しました。
        そのような設定が必要なサーバーもあるのですね。
        フィードバックありがとうございました。

  74. あきらん より:

    はじめまして、mail.phpをダウンロードさせていただき、利用しようと思っているのですが、スマホサイトでメールフォームを使おうと思い、サーバーにアップロードしたのですが、送信すると500エラーが出てしまいます。。
    ですが不思議な事に、メールはバッチリ送られます。

    変更したのは、contact.html全体と、mail.phpの(※お問合せ確認部分211行目からのCSSのみ変更です。)

    知識に乏しいズブの素人ですが、なんとなくプログラムとは全く関係ないところに原因はあるのかと思ったりもしています。誰に習った事も無く独学で簡単なホームページなどを知人に作ってあげたりしていて、mail.phpで最初に変更必須になっているところのメールアドレスとサーバーが全く無関係とかだとそういうエラーが出る事とかがあるのかも?とかも考えるのですが。。。

    スマートフォンのサイトを作成していて、あとはメールフォームを入れるだけとなり、まる3日ほど色々なメールフォームを探していてここにたどり着きまして、良いメールフォームにたどりついたと思ったのですが、、あと1歩というところで壁にぶつかりまして。

    もしも何か対応策などありましたらご教授願えないでしょうか??

    • ken より:

      管理人です。
      コメントありがとうございます。またお返事が遅くなりまして申し訳ありませんでした。。。

      こちらの件は解決されたとのコメントをいただいておりましたので、安心しました。
      はじめは誰でも「素人」ですよ^^

  75. あきらん より:

    すみません。以前のコメントを見ていたら解決しました。

    良いプログラムをありがとうございます。

    お騒がせいたしました。

    • ken より:

      管理人です。
      コメントありがとうございます。
      またお返事が遅くなりましてすみませんでした・・・

      解決されたとのことで安心しました。

  76. saki より:

    PHP初心者の私でも、とても簡単に設置できて助かりました!
    ありがとうございます!

    ひとつ質問なのですが、メールアドレスが正しいかどうかのチェックは出来ないのでしょうか?
    メールアドレスが全角やひらがなでも届いてしまうので、ちょっと気になりまして・・・

    お忙しい中お手数おかけしますが、ご返信いただけると幸いです。

    • ken より:

      管理人です。
      コメントありがとうございます。またお返事が遅くなりまして申し訳ありませんでした。。。

      このたびバージョンアップでご要望の多かったメールアドレスの形式チェックを導入しましたので、
      現在配布中の最新版をご使用いただければと思います。
      またなにかありましたらコメントくださいませませ。

  77. gisyo より:

    はじめまして1点教えて下さい。
    メールアドレス用の形式チェックを入れたいのですが
    どこにどのように入れたらよろしいでしょうか
    (現状では必須にしていても、何か文字が入っていれば認識してしまうため)

    何卒ご教授のほどお願い致します。

    • ken より:

      管理人です。
      コメントありがとうございます。またお返事が遅くなりまして申し訳ありませんでした。。。
      このたびバージョンアップにてご要望の多かったメールアドレスの形式チェックを導入しましたので、
      現在配布中の最新版をご使用いただければと思います。
      またなにかありましたらコメントくださいませませ。

  78. つゆ より:

    はじめまして。
    素人ながらにPHPフォームを色々試しましたが、
    こちらのフォームがとても使いやすく有難い限りです。

    質問なのですが、
    管理者メールアドレス(メールを受け取るメールアドレス)を受信のみのAと設定し、
    相手に表示されるアドレスはメインのinfoにしたいのですが、
    どこにどう付け足せばいいのでしょうか?
    また、相手側の送信元にこちらの名前を出すにはどうすればいいのでしょうか?
    何かヒントをいただけたら幸いです。よろしくお願いします。

    • ken より:

      管理人です。
      コメントありがとうございます。

      このたびバージョンアップでご要望の多かった
      自動返信メールの送信者欄に「名前」を設定できるように機能追加を行いましたので、
      現在配布中の最新版をご使用いただければと思います。

      また、受信メールと相手に表示されるメールアドレスを分けたいという件ですが、
      今回のバージョンアップにてBcc機能を追加しましたので、これらをうまくお使いいただければと思います。

      またなにかありましたらコメントくださいませませ。

  79. つゆ より:

    ken様
    ご返信ありがとうございます。
    お陰様でこちらの要望通りに動きました!
    ファイル内の説明文がとてもわかり易いので、
    これを足掛かりにPHPを勉強しはじめました。
    最初見たときは全くちんぷんかんぷんですが、
    意味が分かって見るとなるほどー!って感じですね。
    ちょっとはまりました。
    メール欄に記入した時に英数字以外を入れれないようにとか、
    なんとなくできそうなのでがんばってやってみます!

  80. くま より:

    プログラムを拝借してお問い合せフォームを設置することができました。
    ありがとうございます。
    これからもがんばってください!

  81. papipupeko より:

    はじめまして。
    自分ではフォーム作成できないので
    こちらのフォームを使用させていただきました。
    ありがとうございます。
    質問ですが、送信完了後、F5を押すと再送されてしまいますが、
    こちらの防止策などありますか。
    また、いたずらメール防止のため、認証コードの設定などは
    ありますか。
    お忙しい所申し訳ありませんが、よろしくお願いいたしますm(_ _)m

    • ken より:

      申し訳ございませんが、
      再送信防止の処理は導入しておりませんのでご了承下さい。
      認証コードの設定などもございません。
      あしからずご了承下さい

  82. アジア より:

    この度は大変使いやすいフォームを無料配布して頂き、どうも有難うございます。

    早速ダウンロードして、サーバ上にアップしたのですが、
    submitした後、メールがmail.phpで設定した受信用アドレス宛に届きません。。

    送信されるまでに、多少時間がかかるものなのでしょうか?
    サーバはロリポップで、phpのバージョンは5.4です。

    大変申し訳ありませんが、わかりましたら教えてください。

    • アジア より:

      ごめんなさい、メーラーの迷惑フォルダ内に入っていました
      初歩的な事に気付かず、大変お手数おかけしました。

      ありがたく使わせて頂きたいと思います。
      宜しくお願い致します。

  83. こちらの問い合わせフォームには大変お世話になっております。

    サンジと申します。

    下記ディレクトリにて設置をしておりますが、問題なく確認画面までは行きつき送信もできるのですが実際に双方にメールが飛びません><

    http://mgen.asia/uzume/mail/contact

    サーバーはロリポップになります。

    同一サーバー上の他ディレクトリでは普通に動作するのですが、、

    http://mgen.asia/pinky/contact.html

    謎すぎて頭がパンクしそうでございます。。w

    • ken より:

      管理人です。
      確かに謎ですね。。。
      まったく同じものを設置しているのであれば基本的にはあり得ないですね。
      回答になっていませんが。。。。