PHPMailer版本5.2.7
$mailerObject = new PHPMailer;
$mailerObject->CharSet = 'UTF-8';
$mailerObject->IsSMTP();
$mailerObject->Host = 'dsfdf.sdfsdf.com';
$mailerObject->SMTPAuth = TRUE;
$mailerObject->Username = 'dfgdfg';
$mailerObject->Password = 'dfgdfgdfg';
$mailerObject->SMTPSecure = 'tls';
$mailerObject->WordWrap = 60;
$mailerObject->From = '[email protected]';
$mailerObject->FromName = 'test.de';
$mailerObject->AltBody = $bodyTextTemp;
$mailerObject->MsgHTML($bodyHtmlTemp);
我正在发送HTML邮件和文本邮件。在HTML模式下的Thunderbird中,正确显示了HTML。在“文本模式”下,看不到“文本内容”($ bodyTextTemp),但是看到了所有HTML标记都被删除的HTML内容($ bodyHtmlTemp)(看起来很丑...)。
查看邮件源,可以看到没有发送AltBody。
为什么PHPMail不接受我的AltBody?
最佳答案
因为msgHTML
覆盖AltBody
。如果要自己设置Body
和AltBody
,只需进行设置即可。 msgHTML
是一个方便的函数,可以为您执行多项操作,但您无需使用它。如果要使用它,但还要设置AltBody
,则只需在调用msgHTML
之后进行设置即可。
关于email - PHPMailer AltBody无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24560328/