【问题标题】:PHPMailer AltBody is not workingPHPMailer AltBody 不工作
【发布时间】:2014-08-24 23:14:41
【问题描述】:

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 = 'alex@test.de';
$mailerObject->FromName = 'test.de';
$mailerObject->AltBody = $bodyTextTemp;
$mailerObject->MsgHTML($bodyHtmlTemp);

我正在发送 HTML 邮件和文本邮件。在 HTML 模式下的 Thunderbird 中,HTML 正确显示。在文本模式下,您看不到文本内容 ($bodyTextTemp),但所有 HTML 标记都被删除的 HTML 内容 ($bodyHtmlTemp)(看起来很丑...)。

查看邮件源,我可以看到 AltBody 没有发送。

为什么 PHPMail 不接受我的 AltBody?

【问题讨论】:

    标签: email smtp phpmailer


    【解决方案1】:

    因为msgHTML 会覆盖AltBody。如果您想自己设置BodyAltBody,只需设置它们即可。 msgHTML 是一个方便的功能,可以为你做几件事,但你不需要使用它。如果你想使用它但还要设置AltBody,只需在调用msgHTML 之后设置它

    【讨论】:

    • 谢谢你!在旧版本的 PHPMailer 中,它适用于 msgHTML,所以我只是想知道...
    • 请注意,PHPMailer 文档中的"Advanced Example using Mail()" 设置AltBody 然后调用MsgHtml。这可能只是错误的文档。
    • 该网站已过时多年,不再维护。 PHPMailer 继续存在于github
    猜你喜欢
    • 2014-03-14
    • 1970-01-01
    • 1970-01-01
    • 2012-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多