我需要发送带有HTML和特殊字符的电子邮件,例如è,à,ò..“我写这个:
$message = "
<html>
<head>
<title>TITLE</title>
</head>
<body>
à è
</body>
</html>";
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
$headers .= 'From: NoReply <noreply@asd.com>' . "\r\n";
$headers .= "Reply-To: NoReply <noreply@asd.com>\r\n";
mail($email, $subject, $message, $headers);
现在,当我启动我的脚本时,在收到的电子邮件的gmail预览上是正确的(字母显示正确),但是当我打开电子邮件时,我看到“&amp;#224&amp;#232”,而不是相对的特殊字符。我该如何解决它(不使用外部库)?
答案 0 :(得分:1)
对$ message使用utf8_decode()函数。
$message = "<html>
<head>
<title>TITLE</title>
</head>
<body>
à è
</body>
</html>";
mail($email, $subject, utf8_decode($message), $headers);
答案 1 :(得分:0)
要在脚本中使用特殊字符,您可以尝试使用htmlspecialchars函数。