私は次のメールスクリプトを使用していますが、問題はそれがいくつかの文字を変換することです。 典型的なメールは次のようになります。PHPメールスクリプトの改行と特殊文字
Neue Nachricht von Mustermann, Max ([email protected]):
Hallo Herr Platzhalter, wie soeben besprochen, würden wir gern ein
"Schild" mit der Aufschrift "Aufschrift" bei Ihnen
bestellen. Bitte teilen Sie uns doch mit, wie wir da
verfahren müssen ... Ihnen einen schönen
Urlaub! Familie Mustermann
私はこの($メッセージ=にfilter_varは($ _ POST [ 'メッセージ']、FILTER_SANITIZE_SPECIAL_CHARS);)ことを推測するだろう、それを台無しに。だから私はそれを安全でないものにすることなくそれをどうやって変えるのですか?そして、そのスクリプトに追加しなければならない他の改善点はありますか?
<?php
//Enter your email here
$your_email = "mymail";
//Enter the subject of the mail here
$subject = "Kontakt Webseite";
$name = $_POST['name'];
$email = $_POST['email'];
//Filter HTML characters
$message = filter_var($_POST['message'], FILTER_SANITIZE_SPECIAL_CHARS);
$error = "Fehler: ";
//Default message if unsuccessful and no other reason found
$return_message = $error."Leider hat das Versenden der Nachricht nicht geklappt, bitte schreiben Sie mir direkt an ".$your_email." eine E-Mail";
if(strlen($name) > 0 && strlen($email) > 0 && strlen($message) > 0) {
if(filter_var(filter_var($email, FILTER_VALIDATE_EMAIL), FILTER_SANITIZE_EMAIL)) {
try {
$body = "Neue Nachricht von ".$name." (".$email."):\n".$message;
$header = "From: ".$email;
mail($your_email, $subject, $body, $header);
$return_message = "Die Nachricht wurde erfolgreich versendet, ich melde mich schnellst möglich bei Ihnen";
}
catch(Exception $e) { }
} else {
$return_message = $error."Ihre E-Mail Adresse scheint ungültig zu sein.";
}
} else {
$return_message = $error."Ein oder mehrere Felder waren nicht ausgefüllt.";
}
echo $return_message;
?>
メールで送信する文字列をエスケープする必要がありますか? PHPは問題を処理しますが、それはあなたがMySQLクエリのために使用しているようではありません。 – gosukiwi
私にはわかりません。私はPHPの経験はほとんどありません。そのスクリプトは購入したテンプレートに含まれています。私はそれがセキュリティ関連のものだと思っていて、質問しないで何かを混乱させたくないと思った;) – kannix