다음 메일 스크립트를 사용하고 있지만 일부 문자가 변환되는 것이 문제입니다. 일반적인 메일은 다음과 같습니다 :이 ($ 메시지 = filter_var가 ($이 _ POST [ '메시지', FILTER_SANITIZE_SPECIAL_CHARS가)) 추측 것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
를 망쳐 놨어요. 그렇다면 그것을 안전하지 않게 변경하려면 어떻게해야합니까? 그리고 그 스크립트에 추가해야 할 다른 개선점이 있습니까?
<?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