前提・実現したいこと
プログラミング学習3か月です。自分の自己紹介サイトを作成中です。
お問い合わせフォームの内容を、phpのmb_send_mail()を使ってメール送信する機能を作りたいです。
ローカルのXAMPP環境では送れるのですが、ロリポップサーバーに移した途端に処理の結果がfalseになります。
ローカルではphp.ini、sendmail_iniの設定も行っており、問題なく作動しています。
ロリポップの環境設定が間違っているのか、、、
初心者の質問で申し訳ございません。よろしくお願いいたします。
発生している問題・エラーメッセージ
mb_send+_mail()の結果がtrueかfalseかで表示させる文字を変えています。 ロリポップ上ではfalse時の文字が表示され、メールも実際に届きません。
該当のソースコード
php
1 2 <?php 3 4 if (!empty($_POST)) { 5 foreach ($_POST as $key => $value) { 6 $clean[$key] = htmlspecialchars($value, ENT_QUOTES, 'UTF-8'); 7 } 8 } 9 10 $to = "ロリポップサーバーに付帯のメールアドレス"; 11 $subject = " {$clean['name']}様よりお問い合わせがあります"; 12 $message = $clean['message']; 13 $header = "from: {$clean['email']}"; 14 $header .= "Reply-To: {$clean['email']}"; 15 16 mb_language("Ja"); 17 mb_internal_encoding("UTF-8"); 18 ?> 19 <section id="sent"> 20 <div class="wrapper"> 21 <div class="container"> 22 <?php if (mb_send_mail($to, $subject, $message, $header)) : ?> 23 <h2>送信完了</h2> 24 <div id="sent-form"> 25 <div id="sent-contents"> 26 <h3>お問い合わせありがとうございました。</h3> 27 <?php else : ?> 28 <h2>送信は失敗しました</h2> 29 <div id="sent-form"> 30 <div id="sent-contents"> 31 <h3>お手数ですが、以下のアドレスまでご連絡お願いいたします</h3> 32 <p><?php echo $to ?></p> 33 <?php endif; ?> 34 <input type="button" value="Topに戻る" onclick="location.href='index.php'"> 35 </div> 36 </div> 37 </div> 38 </div> 39 </section>
試したこと
・to、fromのメールアドレスを、自分のgmailやサーバー付帯のものに変更してみる(同じものにならないように)
・ロリポップのsendmailのパス(ヘルプ参照)をFileZillaで作成し、ローカルのsendmailフォルダをコピー → https://lolipop.jp/manual/hp/cgi/
・php.iniのメールに関する設定は、ユーザーからは変更できないようです。
補足情報(FW/ツールのバージョンなど)
ローカル:
windows 10
XAMPP for windows 7.4.6
レンタルサーバー:
ロリポップサーバー ライトプラン
あなたの回答
tips
プレビュー