这可能是由于主机上的SMTP服务器不支持utf-8或您的PHP邮件程序没有正确设置utf-8编码所致。一个可能的解决方案是在PHP邮件程序中添加以下代码:
$mail->CharSet = 'UTF-8';
这将确保邮件正文和标题使用utf-8编码。另外,您还可以尝试将邮件主体和标题进行编码,例如:
$mail->Subject = '=?UTF-8?B?'.base64_encode($subject).'?='; $mail->Body = '=?UTF-8?B?'.base64_encode($body).'?='; $mail->AltBody = '=?UTF-8?B?'.base64_encode($altbody).'?=';
这些代码将将邮件主题、正文和替代正文编码为Base64格式,以确保它们可以正确地呈现utf-8字符。
如果以上解决方案还未解决您的问题,您还可以考虑使用其他SMTP服务器,或者尝试使用其他PHP邮件程序库,如SwiftMailer和PHPMailer的替代版本。