質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

1回答

1239閲覧

phpでメールが送れないです。

Keichi_Negishi

総合スコア25

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2020/03/30 07:51

【現在実装中のお問い合わせフォームの概要】

1つのindex.phpファイルで、お問い合わせ画面、確認画面、完了画面の切り替えを行っており、それ自体は上手くいっています。

【困っている事と実現したい事】

mb_send_mail()関数でメールを送信したいのですが、メールが届かないので届くようにしたいです。

【試した事】

phpのリントチェックもかけましたが、エラーは出ていません。
phpinfoを使用したところ、php自体は機能している事は確認できました。

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

【コード】

//変数の初期化 $page_flag = 0; if( !empty($_POST['confirm_btn'])){ $page_flag = 1; }elseif( !empty($_POST['submit_btn'])){ $page_flag = 2; // 変数とタイムゾーンを初期化 $auto_reply_subject = null; $auto_reply_text = null; //件名を設定 $auto_reply_subject = '【XY株式会社】お問い合わせありがとうございます。'; //本文を設定 $auto_reply_text .= $_POST['lastname'] . $_POST['firstname'] . '様' . '\n'; $auto_reply_text .= '以下の内容でお問い合わせを受け付けました。'. '\n'; $auto_reply_text .= '【会社名】' . $_POST['company'] . '\n'; $auto_reply_text .= '【氏名】' . $_POST['lastname'] . $_POST['firstname'] . '\n'; $auto_reply_text .= '【氏名(かな)】' . $_POST['last_kana'] . $_POST['first_kana'] . '\n'; $auto_reply_text .= '【電話番号】' . $_POST['tel'] . '\n'; $auto_reply_text .= '【メールアドレス】' . $_POST['email'] . '\n'; $auto_reply_text .= '【お問い合わせ目的】' . $_POST['select'] . '\n'; $auto_reply_text .= '【お問い合わせ内容】' . $_POST['textarea'] . '\n'; $email = $_POST['email']; mb_send_mail( $email, $auto_reply_subject, $auto_reply_text); } ?> <!doctype html> <html> <head> ----省略---- </head> <body> <main> <section class="top_bg"> <h2><img src="images/conT2.png" alt="お問い合わせ"></h2> </section><!--/.top_bg --> <section class="contents_wrapper"> <div class="form_wrapper"> <div class="breadcrumb"> <p>トップ &gt; <span>お問い合わせ</span></p> </div><!--/.breadcrumb --> <!--確認画面のhtml↓--> <?php if( $page_flag === 1 ): ?> <form action="" method="post"> <div class="form_contents"> <div class="form_area name_block"> <div class="form_hd"> <p><span class="need">必須</span></p> <p>お名前</p> </div><!--/.form_hd --> <div class="form_block"> <p><?php echo $_POST['lastname']; ?></p> <p><?php echo $_POST['firstname']; ?></p> </div><!--/.form_block --> </div><!--/.name_block --> <div class="form_area kana_block"> <div class="form_hd"> <p>ふりがな</p> </div><!--/.form_hd --> <div class="form_block"> <p><?php echo $_POST['last_kana']; ?></p> <p><?php echo $_POST['first_kana']; ?></p> </div><!--/.form_block --> </div><!--/.kana_block --> <div class="form_area company_block"> <div class="form_hd"> <p><span class="need">必須</span></p> <p>会社名</p> </div><!--/.form_hd --> <div class="form_block"> <p><?php echo $_POST['company']; ?></p> </div><!--/.form_block --> </div><!--/.company_block --> <div class="form_area tel_block"> <div class="form_hd"> <p><span class="need">必須</span></p> <p>電話番号</p> </div><!--/.form_hd --> <div class="form_block"> <p><?php echo $_POST['tel'] ?></p> </div><!--/.form_block --> </div><!--/.kana_block --> <div class="form_area mail_block"> <div class="form_hd"> <p><span class="need">必須</span></p> <p>メールアドレス</p> </div><!--/.form_hd --> <div class="form_block"> <p><?php echo $_POST['email'] ?></p> </div><!--/.form_block --> </div><!--/.mail_block --> <div class="form_area mail_block"> <div class="form_hd"> <p><span class="need">必須</span></p> <p>メールアドレス(確認用)</p> </div><!--/.form_hd --> <div class="form_block"> <p><?php echo $_POST['email'] ?></p> </div><!--/.form_block --> </div><!--/.mail_block --> <div class="form_area purpose_block"> <div class="form_hd"> <p><span class="need">必須</span></p> <p>お問い合わせ目的</p> </div><!--/.form_hd --> <div class="form_block"> <p><?php echo $_POST['select']; ?></p> </div><!--/.form_block --> </div><!--/.purpose_block --> <div class="form_area text_block"> <div class="form_hd"> <p>お問い合わせ内容</p> </div><!--/.form_hd --> <p><?php echo $_POST['textarea'] ?></p> </div><!--/.text_block --> </div><!--/.form_contents --> <div class="btn_wrapper"> <div class="btn_area"> <input type="submit" class="confirm_btn" name="back_btn" value="戻る"> <input type="submit" class="confirm_btn" name="submit_btn" value="送信する"> </div><!--/.btn_area --> </div><!--/.btn_wrapper --> <!--データ送信用のinputタグ↓ --> <input class="hidden" type="text" name="lastname" placeholder="姓"> <input class="hidden" type="text" name="firstname" placeholder="名"> <input class="hidden" type="text" name="last_kana" placeholder="せい"> <input class="hidden" type="text" name="first_kana" placeholder="めい"> <input class="hidden" type="text" name="company"> <input class="hidden" type="tel" name="tel"> <input class="hidden" type="email" name="email"> <select class="hidden" name="select"> <option>選択して下さい</option> <option value="製品に関するお問い合わせ">製品に関するお問い合わせ</option> <option value="技術相談">技術相談</option> <option value="見積もり依頼">見積もり依頼</option> <option value="工場見学">工場見学</option> <option value="採用について">採用について</option> <option value="その他">その他</option> </select> <textarea class="hidden" name="textarea"></textarea> <input class="hidden" type="submit" class="confirm_btn" name="submit_btn" value="送信する"> </form> <?php elseif($page_flag === 2): ?> <h2>お問い合わせありがとうございます。</h2> <?php else: ?> <form action="" method="post"> <div class="form_contents"> <div class="form_area name_block"> <div class="form_hd"> <p><span class="need">必須</span></p> <p>お名前</p> </div><!--/.form_hd --> <div class="form_block"> <input type="text" name="lastname" placeholder="姓" required> <input type="text" name="firstname" placeholder="名" required> </div><!--/.form_block --> </div><!--/.name_block --> <div class="form_area kana_block"> <div class="form_hd"> <p>ふりがな</p> </div><!--/.form_hd --> <div class="form_block"> <input type="text" name="last_kana" placeholder="せい"> <input type="text" name="first_kana" placeholder="めい"> </div><!--/.form_block --> </div><!--/.kana_block --> <div class="form_area company_block"> <div class="form_hd"> <p><span class="need">必須</span></p> <p>会社名</p> </div><!--/.form_hd --> <div class="form_block"> <input type="text" name="company" required> </div><!--/.form_block --> </div><!--/.company_block --> <div class="form_area tel_block"> <div class="form_hd"> <p><span class="need">必須</span></p> <p>電話番号</p> </div><!--/.form_hd --> <div class="form_block"> <input type="tel" name="tel" required> </div><!--/.form_block --> </div><!--/.kana_block --> <div class="form_area mail_block"> <div class="form_hd"> <p><span class="need">必須</span></p> <p>メールアドレス</p> </div><!--/.form_hd --> <div class="form_block"> <input type="email" name="email" required> </div><!--/.form_block --> </div><!--/.mail_block --> <div class="form_area mail_block"> <div class="form_hd"> <p><span class="need">必須</span></p> <p>メールアドレス(確認用)</p> </div><!--/.form_hd --> <div class="form_block"> <input type="email" name="email" required> </div><!--/.form_block --> </div><!--/.mail_block --> <div class="form_area purpose_block"> <div class="form_hd"> <p><span class="need">必須</span></p> <p>お問い合わせ目的</p> </div><!--/.form_hd --> <div class="form_block"> <select name="select" required> <option>選択して下さい</option> <option value="製品に関するお問い合わせ">製品に関するお問い合わせ</option> <option value="技術相談">技術相談</option> <option value="見積もり依頼">見積もり依頼</option> <option value="工場見学">工場見学</option> <option value="採用について">採用について</option> <option value="その他">その他</option> </select> </div><!--/.form_block --> </div><!--/.purpose_block --> <div class="form_area text_block"> <div class="form_hd"> <p>お問い合わせ内容</p> </div><!--/.form_hd --> <textarea name="textarea"></textarea> </div><!--/.text_block --> </div><!--/.form_contents --> <div class="btn_wrapper"> <div class="btn_area"> <div class="g-recaptcha" data-callback="callback" data-sitekey="6Ld5qjEUAAAAAOBQCB8ubbpOnw2P3FOJIJaiD3K8"></div> <input type="submit" class="confirm_btn" name="confirm_btn" value="確認画面へ"> </div><!--/.btn_area --> </div><!--/.btn_wrapper --> </form> <?php endif; ?> </div><!--/.form_wrapper --> </section><!--/.contents_wrapper --> </main> </body> </html> コード

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Masakin

2020/03/30 07:56

smtpの設定は問題ないのでしょうか? phpinfoで確認できますか?
nanami12

2020/03/30 07:56

そもそも、メーリサーバは、生きてるか確認されました?
Keichi_Negishi

2020/03/30 08:08

>Masakin phpinfoで確認しましたところ、 SMTPの箇所はlocalhostと書かれていました。
Keichi_Negishi

2020/03/30 08:19

>nanami12 すみません、今調べてみましたが、知識不足で メールサーバーが動作しているかどうか、どうやって調べるのか 分かりませんでした。
m.ts10806

2020/03/30 08:39

PHPのバージョン及びPHPが動作しているOSをご提示ください
m.ts10806

2020/03/30 08:41

あと、いきなりフォーム入力とつなげるより、固定文言のメールで単体動作確認された方が良いと思います。フォーム入力挟むにしてもデザインなし最小限のレイアウトで確認するとか。 問題切り分けの手法ですね。
退会済みユーザー

退会済みユーザー

2020/03/30 08:42

Windows上でXAMPPで作っているのだとしたら、Fake Sendmailを叩いているだけなんじゃないかなと。
Keichi_Negishi

2020/03/31 01:11

>m.ts10806 回答が遅れて申し訳ございません。 phpのヴァージョンは7.3.15でした。 また、OSはWindowsです。
Keichi_Negishi

2020/03/31 01:12

>m6u 回答が遅れて申し訳ありません。 XAMPPではなくテストサーバーを設置し、 そこで検証しています。
Keichi_Negishi

2020/03/31 01:15

>m.ts10806 アドバイスありがとうございます。 ①簡素なphpファイルを作りメールが送れるかチェックを行い ②その後フォームを追加 してみようと思います。
nanami12

2020/03/31 01:20

メールを送信したいのであればメールサーバが立ち上がっていなければ 送信できません。あたりまえですが。 空メールを自分宛てに送信し自身に配信されているを確認してください
Keichi_Negishi

2020/03/31 01:37

>nanami12 他のサブドメインでは正常にメールが遅れていたので メールサーバーに問題は無いようでした。
nanami12

2020/03/31 01:39

前の話はしてません。 現在の環境で、メールの送受信はできますか?と聞いてます
Keichi_Negishi

2020/03/31 01:44

>nanami12 今簡易なメールフォームを作成してみたところ、 自分宛てにメールは届きました。
m.ts10806

2020/03/31 02:05

えっと >また、OSはWindowsです。 と >XAMPPではなくテストサーバーを設置し、 は合致しません。 PHPはどこに導入しているのですか?という確認をしてます。 この内容だと「テストサーバー」になるのですけど、その「テストサーバー」は何でしょうか。
guest

回答1

0

OSなど環境とインターネットISPとのメール契約次第
とりあえずはISPの提供するメールサーバーとポートを指定して
メールを送信できるようになるところからです

投稿2020/03/30 08:33

yambejp

総合スコア116734

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Keichi_Negishi

2020/03/31 01:13

承知しました。 ポートの確認を行います。 ご回答ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問