我正在尝试使用内置的" mail" PHP中的函数,它在SiteGround的托管LAMP环境中可以满足我的需求。在这种情况下,我在Windows上运行我自己的服务器,并且我的消息带有一个虚假的字符(一个大写' B'),它附加在正文上。我尝试用简单的abc'来替换电话中的$ mailBody。字符串,以及虚假的资本' B'仍然是前奏。我猜这个问题是由字符编码不匹配引起的。我试过改变" Content-type"在从text / plain到text / html的标题中,以及从windows-1251到utf-8的charset,两者都没有任何区别。
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plain; charset=windows-1251\r\n";
$headers .= "From: $confirmation_sender\r\n";
$bMailSuccess = mail ($strEmail, $business_name . ' Booking Confirmation', $mailBody, $headers);
php.ini
SMTP = internalmail
如您所见,邮件被定向到名为' internalmail'的服务器,此服务器上的日志表明虚假字符已经是它收到的正文文本的一部分。任何人都可以建议修复(最好是"安装一些其他邮件客户端")?