我在这里和谷歌上来回搜索过。但运气不好。
尝试用PHP发送电子邮件我有以下内容:
header("Content-Type: text/html; charset=utf-8");
$Empfaenger = "mail@someone.com";
$Mailbetreff = "Subject";
$Header = "MIME-Version: 1.0'n";
$Header .= "Content-type: text/html; charset=utf-8'n";
$Header .= "From: ";
$Header .= $Sender;
$Header .= "'n";
$Header .= "Straße: Blabla";
mail($Empfaenger, $Mailbetreff, "", $Header);
像"ß"answers"ä"这样的字符总是作为�.由于电子邮件的内容将从表单中生成,我不知道将使用哪些字符,因此将"ß"替换为ß",显然。
我也尝试过iso-8859-1和用htmlenties()编码字符串,但这只会切换结果�toé表示所有特殊字符。
在这种情况下,这是相关的:服务器运行PHP 5.2.7
首先,头端应该用CRLF(''r''n)终止其次。。。您是在邮件头中添加邮件内容,而不是在邮件内容中。。。
检查邮件功能中的参数
此行不应在$Header
:中
$Header .= "Straße: Blabla";
您需要为body创建$body
变量,并将其添加为邮件的第三个参数。
所以你需要这样使用你的代码:
header("Content-Type: text/html; charset=utf-8");
$Empfaenger = "a@b.c";
$Mailbetreff = "Subject";
$Header = "MIME-Version: 1.0'r'n";
$Header .= "Content-type: text/html; charset=utf-8'r'n";
$Header .= "From: ";
$Header .= $Sender;
$Header .= "'r'n";
$Body = "Straße: Blabla";
mail($Empfaenger, $Mailbetreff, $Body, $Header);
注意:您的php文件编码也应该是UTF-8!
您应该使用html实体html实体列表
ß的正确用法是:ß