0

したがって、問題は、私のWebサイトでPHPメールフォームを使用しているときに、件名と空の本文のみを送信することがあるということです。しかし、これはたまにしか起こりません。実際にはめったにありません。Webサイトのユーザーからメールを受け取っていたので(件名は空白ですが、本文は空白です)、自分でいくつかのメールをテストするまで、フォームの送信が早すぎたと思いました。繰り返しますが、件名は常にそこにあります。

ここでコードを形成します:

echo "<form method='POST' action='item.php?id=$strItemNumber'>
<table><tr><td style='vertical-align:middle;'>
Subject:<BR />
<input type='text' name='subject' value='Item # $strItemNumber'  size='19'><br />
Name:<BR /> <input type='text' name='name' size='19'>
<br />Your Email:<br />
<input type='text' name='email' size='19'>

</td><td>
Message:<BR />
<textarea rows='9' name='message' cols='60'></textarea>

</tr></table>
<input type='submit' value='Send Email' name='submitted'>
</form>";

ここに電子メール機能のコード:

$to = "info@mydomain.com";
$subject = $_POST['subject'];
$name_field = $_POST['name'];
$email_field = $_POST['email'];
$message = $_POST['message'];
$body = "From: $name_field\n E-Mail: $email_field\n Message:\n $message\n"; 

mail($to, $subject, $body);

何か考えはありますか?

ありがとうございました

4

2 に答える 2

0

次のように変更$bodyします。

$body = "From: {$name_field} E-Mail: {$email_field} Message: {$message}"; 
于 2013-01-18T23:38:43.157 に答える
0

Ok。この答えは元のポスターに対するものです。私は数時間同じ問題を抱えていました。PHP wikiから私の注意を引く小さな一口を発見したとき、私は壁に頭を打ちつけていました。本体は線で構成されている必要があることがわかります。各行は、悪名高い'\ n\r'で終わる必要があります。これは電子メールに現れる場合と現れない場合がありますが、電子メールの本文の文字列にとって重要です。各行は特定の長さを超えることはできません。ヤフーの場合、正確な長さはわかりませんが、ウィキには70文字の長さが記載されています。正確ではないと思います。メールで送信したデータはHTMLコードだったので、「\ n\r」を挿入しただけです。すべてのhtmlタグの最後まで。私はもう問題を抱えていません。送信したメッセージ本文が行長のデータ制限を超えて、メッセージ本文を空白で送信した可能性があります。

文字列の例:

"<body>Hello World</body>\n\r<i>Something, something, darkside</i>\n\r..."

少なくとも私にとっては、これで問題は解決しました。私もYahoo!にいます。

この投稿はインターネット標準によると古代のアーティファクトだと思いますが、たくさんのOビューが関連付けられているので、誰かが便利だと思うでしょう。

于 2013-10-20T05:42:21.010 に答える