我已经制作了一个可以使用的PHP联系人表格,但是当邮件发送到目的地时,结果是这样的:消息:Îγαβγ
因此,尽管所有希腊文字符都如上显示一样,英文字符和数字仍可正确发送。
我想编码或标题有问题,但是不管我尝试了什么,我都找不到。
代码如下:
$headers = 'Content-type: plain/txt; charset=UTF-8';
if(isset($_POST['email'])) {
$email_to = "info@emai.com";
$email_subject = "Ελληνικά";
function died($error) {
// your error code can go here
echo "Λυπούμαστε, αλλά υπήρχαν μερικά προβλήματα κατά τη διάρκεια της αποστολής του e-mail!";
echo "Μπορείτε να δείτε τι πήγε στραβά:<br /><br />";
echo $error."<br /><br />";
echo "Σας παρακαλούμε, επιστρέψτε πίσω και διορθώστε τα παραπάνω<br /><br />";
die();
}
// validation expected data exists
if(!isset($_POST['name']) ||
!isset($_POST['email']) ||
!isset($_POST['reason']) ||
!isset($_POST['comments'])) {
died('Λυπούμαστε, αλλά υπήρχαν μερικά προβλήματα κατά τη διάρκεια της αποστολής του e-mail!');
}
$name = $_POST['name']; // required
$email_from = $_POST['email']; // required
$reason = $_POST['reason']; // not required
$comments = $_POST['comments']; // required
$email_message = "Form details below.\n\n";
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}
$email_message .= "Όνομα: ".clean_string($name)."\n";
$email_message .= "Email: ".clean_string($email_from)."\n";
$email_message .= "Αιτιολογία: ".clean_string($reason)."\n";
$email_message .= "Μήνυμα: ".clean_string($comments)."\n";
// create email headers
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'Content-type: plain/txt; charset=UTF-8' . "\r\n".
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
}