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

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

ただいまの
回答率

88.57%

ロリポップでhtmlに入れたphpが動かない。

解決済

回答 5

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 2,257

kumer1

score 26

お名前のドメインでDNSを設定しメールはGmail、HPはロリポップで動かそうと悪戦苦闘してます。
今回の質問は、件名の通り、ロリポップのサーバーでhtmlに入れたPHPのお問い合わせフォームが今のところGMAILだけ動きません。*会社のCOJPドメインでは問題なく動作しました。MAMPを使ったローカルテストではうまく送れたのですが、本番環境ではどうにもならずお知恵をお借りしたいです!

挙動としては、

お問い合わせ内容の記入→送信→送信完了ページ

の本当に簡単なphpです。

■■な機能を実装中に以下のエラーメッセージが発生しました。

 発生している問題・エラーメッセージ

本番環境でtestメールが送られてこない。

 該当のソースコード(PHP部分)

<?php
/*******************************
 データの受け取り 
*******************************/
$user_name        = $_POST["user_name"];        //お名前
$user_subject     = $_POST["user_subject"];
$user_mail        = $_POST["user_mail"];    //メールアドレス
$user_msg        = $_POST["usr_msg"];        //お問合せ内容

//危険な文字列を入力された場合にそのまま利用しない対策
$user_name        = htmlspecialchars($user_name, ENT_QUOTES);
$user_subject    = htmlspecialchars($user_subject, ENT_QUOTES);
$user_mail        = htmlspecialchars($user_mail, ENT_QUOTES);
$user_msg        = htmlspecialchars($user_msg, ENT_QUOTES);

/*******************************
 メール送信の実行
*******************************/
    $honbun = '';
    $honbun .= "メールフォームよりお問い合わせがありました。\n\n";
    $honbun .= "【お名前】\n";
    $honbun .= $user_name."\n\n";
    $honbun .= "【件名】\n";
    $honbun .= $user_subject."\n\n";
    $honbun .= "【メールアドレス】\n";
    $honbun .= $user_mail."\n\n";
    $honbun .= "【お問い合わせ内容】\n";
    $honbun .= $user_msg."\n\n";

    //エンコード処理
    mb_language("Japanese");
    mb_internal_encoding("UTF-8");

    //メールの作成
    $mail_to    = "ml@xxx.com";            //送信先メールアドレス
    $mail_subject    = "【xxxxx】お問い合わせ";    //メールの件名
    $mail_body    = $honbun;                //メールの本文
    $mail_header    = "from:".$user_mail;            //送信元として表示されるメールアドレス

    //メール送信処理
    $mailsousin    = mb_send_mail($mail_to, $mail_subject, $mail_body, $mail_header);

    //メール送信結果
    if($mailsousin == true) {
        echo '<p>お問い合わせありがとうございました。</p>';
    } else {
        echo '<p>エラーが発生しました。<br>お手数ですが、もう一度やり直しください。</p>';
    }

?>

 試したこと

5.6(CGI版)
設定で php_value, php_flagを利用可能にする をONにした。
ディレクトリに.htaccessファイルをアップロードした。
.htaccessの中身は、
AddHandler php5.6-script .html
(+改行)
で保存。
属性は604に指定。イメージ説明

 補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • m.ts10806

    2018/11/17 13:54

    php自体が動かないのかどうかは切り分けしてください。まずは拡張子phpで動くか、次に拡張子htmlでもっと簡単な、例えばechoが動くか。サーバーのログも確認してください

    キャンセル

  • m.ts10806

    2018/11/17 13:55

    提示内容だけだとわざわざhtml拡張子にする必要はなさそうですけどね

    キャンセル

  • kumer1

    2018/11/18 02:44

    プログラムと送信もできました。今のところなぜかgmailを送信元とすると届かず、会社のcojpドメインで行うと届くという結果でした。サーバーのエラーはまだ見つかっていないです。

    キャンセル

  • m.ts10806

    2018/11/18 06:10

    受信もとで拒否してたりしませんか?

    キャンセル

回答 5

+1

PHPMailerなどを使ってロリポップのSMTPで送信したほうが、メールの到達の可能性が高いのでは。

【メール送信がうまくいかないときに読む記事(そういう質問をされたときに読ませる記事) - Qiita】
https://qiita.com/ShibuyaKosuke/items/309c0a7d969baf0ea8d1

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/11/18 03:06

    ありがとうございます。ざっくりと、要は現在のPHPの書き方だと送信元のユーザーのアドレスがGMAILの場合、送信元のサーバー(ロリポップ)が受信元(Gsuite)に信頼されていないと言うことになりますかね?でcojpなどの身元が確かなドメインが送信元の場合、まあ問題ないと。

    キャンセル

  • 2018/11/18 03:38

    ざっくりとで言うとSMTP経由で送ったほうが届きやすいです。ドメインがどうとかでもないです。

    キャンセル

+1

回答ではありません
メールサーバ側で何か対策しているかもしれませんが、実用に耐えるコードではありません。
ちゃんとメール投稿の勘所を理解した方に作ってもらってください。
今のコードだと、php のマイナーバージョン次第で SPAM の発射台として利用できます。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

check解決した方法

0

$mail_from .= "メアド"; //return_pass

$mailsousin = mb_send_mail($mail_to, $mail_subject, $mail_body, $mail_header, $mail_from);

の変更でフリーメールの受信が可能になりました。

DNS側でSFPの設定やDKIMの設定などもしましたが、上記が一番効果ありました。
とりあえず急場を凌げるので後々、セキュアを高めたりコードも改良していきたいと思います。
皆さまご意見ありがとう御座いました。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

こちらは参考になられましたか?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

こんばんわ。

phpの文法チェッカーでチェックをかけたところ記載のコードに

文法エラーは見つかりませんでした。

    //メールの作成
    $mail_to    = "ml@xxx.com";            //送信先メールアドレス
    $mail_subject    = "【xxxxx】お問い合わせ";    //メールの件名
    $mail_body    = $honbun;                //メールの本文
    $mail_header    = "from:".$user_mail;            //送信元として表示されるメールアドレス

システムからお客さんの指定したメールアドレスへメールを送信するのですから、

$mail_to にはお客さんが記入したメールアドレスを設定するのが正しいのではないでしょうか?

テスト環境でたまたま動作したのは、送信元メールアドレスと送信先メールアドレスを

同じにしていたからではないでしょうか?

あと、メールサーバーのエラーログ等も確認されたほうがよいかと思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/11/18 02:40

    確認ありがとう御座います。GMAILのドメインでは上手く動かず、会社のCOJPでは問題なく、送られてきました。今のところサーバー側のエラーも見当たらず。何か気づきがあれば教えてください!

    キャンセル

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

  • ただいまの回答率 88.57%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る