現在作成中のWebサイトにお問い合わせフォームを設けました。
フォームに必要事項を入力して「確認」ボタン押すと確認ページに飛び、その画面で「送信」ボタンを押すと送信完了画面に飛び、フォームを送信したユーザに確認メールがいくようにしてます。
しかし、フォームに入力したメールアドレスにメールはいくのですが、差出人が User ○○○ となり、件名にユーザが入力した名前が入り、本文にはテキストエリアに入力された文字がそのまま表示されるだけになってしまい、送信元のメールアドレスが指定したgmailのアドレスではなく ○○○○@○○○○.sakura.ne.jpになってしまいます。
以下のコード通りにメールを送信するにはどうすればよいのでしょうか?
さくらサーバー側での設定が必要なのでしょうか?
コード自体に誤りがある場合は指摘してくださると幸いです。
php
1<?php 2 //対策 3 function h($str){ 4 return htmlspecialchars($str,ENT_QUOTES,'UTF-8'); 5 } 6 7 //データ格納 8 if($_SERVER["REQUEST_METHOD"] == "POST"){ 9 $name = h(@$_POST["name"]); 10 $mail = h(@$_POST["mail"]); 11 $comment = h(@$_POST["comment"]); 12 } 13 14 15 //送信ボタン押したら 16 if(isset($_POST["send"])){ 17 mb_language("ja"); 18 mb_internal_encoding("UTF-8"); 19 20 $subject ="[自動送信] お問い合わせ内容の確認"; 21 22 $body = <<< EMO 23 {$name}様 24 25 お問い合わせありがとうございます。 26 以下のお問い合わせ内容を、メールにて確認させていただきました。 27 28 =================================================== 29 【 お名前 】 30 {$name} 31 32 【 メール 】 33 {$mail} 34 35 【 内容 】 36 {$comment} 37 =================================================== 38 39 内容を確認のうえ、回答させて頂きます。 40 しばらくお待ちください。 41 EMO; 42 //送信元メールアドレス格納 43 $fromEmail = "○○○○○○@gmail.com"; 44 45 //送信元名前格納 46 $fromName = "△△△△△"; 47 48 //ヘッダ情報格納 49 $header = "From: " .mb_encode_mimeheader($fromName) ."<{$fromEmail}>"; 50 51 //メール送信を行う 52 mb_send_mail($mail,$subject,$body,$header); 53 header("success.php"); 54 exit; 55 } 56 ?> 57 58<html> 59<head> 60 <meta charset="utf-8"> 61 <meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0"> 62 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 63 <title>確認画面</title> 64 <link rel="stylesheet" href="css/resetstylesheet.css"> 65 <link rel="stylesheet" href="css/confirmation.css"> 66</head> 67 68<body> 69 70 <h2>以下の内容で送信しますか?</h2> 71 <form action="success.php" method="POST"> 72 <input type="hidden" name="name" value="<?php echo $name; ?>"> 73 <input type="hidden" name="mail" value="<?php echo $mail; ?>"> 74 <input type="hidden" name="comment" value="<?php echo $comment; ?>"> 75 76 <div class="c-table"> 77 <dl> 78 <dt> 79 名前 80 </dt> 81 <dd> 82 <?php echo $name; ?> 83 </dd> 84 </dl> 85 <dl> 86 <dt> 87 メールアドレス 88 </dt> 89 <dd> 90 <?php echo $mail; ?> 91 </dd> 92 </dl> 93 <dl> 94 <dt> 95 問い合わせ内容 : 96 </dt> 97 <dd> 98 <?php echo $comment; ?> 99 </dd> 100 </dl> 101 102 </div> 103 <div class="btn-area"> 104 <input type="button" onclick="history.go(-1)" value="戻る"> 105 <input type="submit" name="send" value="送信"> 106 </div> 107 </form> 108</body> 109 110</html> 111
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/26 01:52