index.htmlとmail.phpを使って、お問い合わせフォームからgmailへメールが届くようにしたいです。サーバーは「エックスサーバー」で、未完成ながらサイトは公開中です。いろいろなパターンを試して
↑に辿りつきましたが、どのパターンを試しても結局、送信ボタンを押すとloading画面に戻るだけです。
index.htmlと同じ階層にphpフォルダを作り、そのフォルダにmail.phpファイルがあります。thanks.htmlはまだ作っていません。
もはやコードとかの問題ではなく、設定とかの問題でしょうか?
または反映に時間がかかるとかでしょうか?
PCの再起動も試してみました。
初めてづくしで原因が掴めません。
どなたかご回答よろしくお願いいたします。
*phpのバージョンは「PHP7.2.6」です。
index.html
index
1 <section id="contact" class="fadein"> 2 <form role="form" method="post" action="php/mail.php" > 3 <h2>Contact</h2> 4 <p>24時間以内に返信させていただきます。</p> 5 <div id="formWrapper"> 6 <div><input placeholder="name" type="text" name="name" required></div> 7 <div><input placeholder="email" type="text" name="email" required></div> 8 <div><textarea placeholder="message" rows="10" name="message" required></textarea></div> 9 <div class='btn' id="send" type="submit" name="action" value="post"><a href=''>SEND</a></div> 10 </div> 11 </form> 12 </section>
mail.php
1<?php 2$field_name = $_POST['name']; 3$field_email = $_POST['email']; 4$field_message = $_POST['message']; 5$mail_to = 'my@gmail.com(**送信先のメールアドレスを入力)'; 6$subject = 'Message from a site visitor '.$field_name; 7$body_message = 'From: '.$field_name."\n"; 8$body_message .= 'E-mail: '.$field_email."\n"; 9$body_message .= 'Message: '.$field_message; 10$headers = 'From: '.$field_email."\r\n"; 11$headers .= 'Reply-To: '.$field_email."\r\n"; 12$mail_status = mail($mail_to, $subject, $body_message, $headers); 13if ($mail_status) { ?> 14 <script language="javascript" type="text/javascript"> 15 window.location = 'thanks.html#contact(※送信後に移動するページ)'; 16 </script> 17<?php 18} 19else { ?> 20 <script language="javascript" type="text/javascript"> 21 alert('メッセージ送信に失敗しました。こちらのメールアドレスへお問い合わせください。my@gmail.com(※自分のメールアドレス)'); 22 window.location = 'index.html(※送信失敗後に移動するページ)'; 23 </script> 24<?php 25} 26?>
回答4件
あなたの回答
tips
プレビュー