
現在さくらレンタルサーバーを借りています。
そのサーバー上に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>
No.3ベストアンサー
- 回答日時:
ありがとうございます。
以下のようなエラーログが出ておりましたので、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
No.4
- 回答日時:
>>ホームページ記載のコードを丸写しですので、間違いは無いと思うのですけれど、
参考にしたホームページが悪かったか、参照したホームページの内容をすべて読んでなかったのでしょう。
質問に書かれているphpのコードだけだと、どのメールサーバでアカウントは何か、PortNoは?などがわからないですよね?
例えば、メールソフトのThunderbirdを使うときも、上記の情報が必要になるように。
phpは詳しくないのですが、そのあたりの情報をphp.iniに記載する必要があるようです。
ちなみに、さくらさんって、「サーバの料金が安いのだから、設定上のトラブルは、自分で調べて解決してよね」ってスタンスだったと記憶しています。
まあ、現在は、いくらか違うのかもしれませんが・・・。
ちなみに、さくらのサーバを長く使っていますが、サポートを使ったことありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
php 完了画面の送信メールのコ...
-
PHPsendmailにて送信元を変更
-
phpのheader("Location:#pos")...
-
PHPのif文でその処理を途中で抜...
-
Apache 2.4でphp-5.3を使いたい...
-
phpの中でphpを書けないか
-
require_once()でファイルが読...
-
header(Location:~)で$_SESS...
-
さくらインターネットでメール...
-
フォームで戻った際に入力済み...
-
PHPでメールを受信するには?
-
php4とphp5での数値の取り扱い...
-
PEAR(Image_QRCode)のエラー
-
テレメールとは?
-
再度、xamppにおけるjpgraphの...
-
<A href ~ と一緒に値を渡すには
-
PHP版のPDFlibのインストール
-
【PHP】tmp_nameの命名規約につ...
-
PHPからMSSQLへの接続結果の文...
-
phpのextension_dirを複数指定...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA 添付ファイルをつけてメー...
-
さくらサーバーにて、phpからメ...
-
mb_send_mail でスパム扱いとなる
-
XAMPPでPHPのmb_send_mailが動...
-
excel VBAでメールを送る方法に...
-
ワードプレス 予約システム
-
phpでのメール転送(添付ファイ...
-
mb_send_mail関数が利用出来ない
-
PHPからメールを送る@さくらイ...
-
mb_send_mail内でif文を使いた...
-
指定した時間にPHPプログラムを...
-
phpでのメール送信
-
mail関数を使った場合のReturn-...
-
サーバーによってはmb_send_mai...
-
複数行の文字列をメールのヘッ...
-
if( mb_send_mail( ・・・) ) {...
-
ローカル環境でのメール送信
-
PHPからのメールがこない
-
mail関数に送信について
-
メール受信 件名が文字化け
おすすめ情報
if(mb_send_mail($to, $title, $message, headers))
→if(mb_send_mail($to, $title, $message, $headers))
(参照サイトさんの記載ミス?)でもNGでした