アプリ版:「スタンプのみでお礼する」機能のリリースについて

現在さくらレンタルサーバーを借りています。
そのサーバー上にphpを置いて、メールフォームからメール送信したいと
思っていますけれど、こちらのURL
https://techplay.jp/column/550
から下記コード(UTF-8)を丸写しして、パーミッションも777に設定をしておりますが
実際にメールフォームから送信をしますと、画面に
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at [no address given] to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.

としてエラーが出てしまいます。
ホームページ記載のコードを丸写しですので、間違いは無いと思うのですけれど、
原因はどこにありますでしょうか??


【test_mail.html】
<html>
<head>
<meta charset="utf-8" />
</head>
<body>
<form action="./test_mail.php" method="post">
<p>送り先</p><input type="text" name="to">
<p>件名</p><input type="text" name="title">
<p>メッセージ</p><textarea name="content" cols="60" rows="10"></textarea>
<p><input type="submit" name="send" value="送信"></p>
</form>
</body>
</html>

【test_mail.php】
<html>
<head>
<meta charset="utf-8" />
</head>
<body>
<?php
mb_language("Japanese");
mb_internal_encoding("UTF-8");

$to = $_POST['to'];
$title = $_POST['title'];
$message = $_POST['message'];
$headers = "From: from@example.com";

if(mb_send_mail($to, $title, $message, headers))
{
echo "メール送信成功です";
}
else
{
echo "メール送信失敗です";
}
?>
</body>
</html>

質問者からの補足コメント

  • うーん・・・

    if(mb_send_mail($to, $title, $message, headers))
    →if(mb_send_mail($to, $title, $message, $headers))
    (参照サイトさんの記載ミス?)でもNGでした

      補足日時:2021/02/08 11:21

A 回答 (5件)

No1です。

エラーログが出てると思うので確認してみてください。

ググってみると、こんな人もいるようです。
https://blog.s-giken.net/381.html
    • good
    • 0
この回答へのお礼

ありがとうございます。
以下のようなエラーログが出ておりましたので、Googleにて
『さくらサーバー malformed header from script』
のキーワードにて検索をし、同じサイトさんに辿り着きました
けれど、アカウント@xxx.co.jpへメール送信します設定なのに
アカウント@xxx.sakura.ne.jpというメアドを作成しないと
届かないようです。
しかもそのアカウント@xxx.sakura.ne.jpの転送設定が上手く
いきませんでアカウント@xxx.co.jpへ届かないようです。

でも先ずは、エラーが消えまして1歩前進です。


[Mon Feb 08 11:24:31.048283 2021] [cgi:error] [pid xxxxx] [client 1xx.1xx.1xx.2xx:0] malformed header from script 'test_mail.php': Bad header: /home/xxxxxxxx/dead.letter... Save, referer: https://xxxxxxxx.co.jp/test_mail.html

お礼日時:2021/02/08 12:06

Fromはテキトーなメールアドレスではいけません。


なりすましの関係上、ドメインと合致するメールアドレスでなければなりません。

また、都度発生しているエラーメッセージは異なるものかと思いますので、どのようなエラーメッセージが表示されるかを都度ご確認ください。
    • good
    • 0
この回答へのお礼

ありがとうございます。
皆さんのおかげで1歩前進です。

お礼日時:2021/02/08 12:13

>>ホームページ記載のコードを丸写しですので、間違いは無いと思うのですけれど、



参考にしたホームページが悪かったか、参照したホームページの内容をすべて読んでなかったのでしょう。

質問に書かれているphpのコードだけだと、どのメールサーバでアカウントは何か、PortNoは?などがわからないですよね?
例えば、メールソフトのThunderbirdを使うときも、上記の情報が必要になるように。

phpは詳しくないのですが、そのあたりの情報をphp.iniに記載する必要があるようです。

ちなみに、さくらさんって、「サーバの料金が安いのだから、設定上のトラブルは、自分で調べて解決してよね」ってスタンスだったと記憶しています。
まあ、現在は、いくらか違うのかもしれませんが・・・。

ちなみに、さくらのサーバを長く使っていますが、サポートを使ったことありません。
    • good
    • 0
この回答へのお礼

ありがとうございます。
そうなんですよね~
No.3さんの回答にて1歩前進出来ましたので、引き続き調査です。

お礼日時:2021/02/08 12:10

mb_send_mailのパタメータheadersの前に$

    • good
    • 0
この回答へのお礼

ありがとうございます。
コピペしましたので気づいていませんでしたけれど、修正しましても
ダメでしたので、mb_send_mailの関数?の関係のようです。

お礼日時:2021/02/08 12:08

インターナルサーバーエラーが出ているので、mb_send_mail でエラーが出てるのかも。

サーバーのエラーログを確認してください。

また、サクラって有料だと思うのですが、この辺は支援してくれないんですか?
    • good
    • 0
この回答へのお礼

ありがとうございます。
No.3のほうに書かせて頂きました。

お礼日時:2021/02/08 12:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


このQ&Aを見た人がよく見るQ&A