首先在变量中存储文件时会丢失哪种img数据?

问题描述 投票:0回答:1

我想通过PHPMailer发送电子邮件,并使用HTML模板,方法是:

$mail->msgHTML()

使用时:

$mail->msgHTML(file_get_contents('./contents.html'), __DIR__);

一切正常,并且电子邮件中包含图片,附加了图片。但是,如果我将文件内容存储在这样的变量中:

$body = file_get_contents('./contents.html');
$mail->msgHTML($body);

图像数据丢失。首先将文件内容读入变量时,为什么我的图像没有包含在发送的电子邮件中?-或者-丢失了哪种(部分)数据?为什么我必须将其作为附件发送才能使用?

供参考的HTML代码:

<td style="font-size: 12px; color:#929292; text-align:center; font-family: sans-serif;">
<img src="./logo_nav.png" alt="" sizes="" srcset="">
</td>
php phpmailer html-email
1个回答
0
投票

根据phpmailer docs,您需要包括basedir参数:

如果您不提供$ basedir,则相对路径将保持不变(因此可能会破坏电子邮件)

因此,如果您用__DIR__调用它,它将起作用:

$mail->msgHTML($body, __DIR__);
© www.soinside.com 2019 - 2024. All rights reserved.