あるサーバーから別のサーバーにサイトを移行しました。古いサーバーでは連絡先ページは正常に機能しますが、新しいサーバーでは機能しません。サポートに連絡したところ、関連のない宣言されていない変数以外には何も明らかにされていないログが送られてきました。再度連絡したところ、別のエラーが生成されていることがわかりました。
policy-violation_found_in_sent_message_"Contact_Form"
Policy:Bad_MIME:RC:1
誰でも助けてもらえますか?
コードの大部分は以下のとおりです。問題はわかりません。あるサーバーでは正常に動作し、別のサーバーでは動作しません。
助けてくれてありがとう。
if(isset($_POST['name'])){ //may have to change to see if a field was set instead
$myEmail = 'me@me.com'; //Email address where queries get sent.
//errors already defined in init
$name = strip_tags(trim($_POST['name']));
$email = strip_tags(trim($_POST['email']));
$subject = "Contact Form";
$headers = "From: " .$email. "\r\n";
$headers .= "Reply-To: " .$email. "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
//body of message
$message1 = '<html><body>';
$message1 .= '<table rules="all" style="border-color: #666;" cellpadding="10">';
$message1 .= "<tr style='background: #eee;'><td><strong>Name:</strong> </td><td>" .$name. "</td></tr>";
$message1 .= "<tr><td><strong>Email:</strong> </td><td>" .$email. "</td></tr>";
$message1 .= "<tr><td><strong>Message:</strong> </td><td>" .$message. "</td></tr>";
$message1 .= "</table>";
$message1 .= "</body></html>";
if (mail($myEmail, $subject, $message1, $headers)) {
//Whoop!
} else {
echo 'There was a problem sending the email.';
}
}
フィールドやいくつかの検証などを削除しましたが、それが大部分です。