0

我有一个 PHP 脚本来使用 PHP 邮件发送电子邮件。

$mail->AltBody = 'To view the message, please use an HTML compatible email viewer!'; // optional - MsgHTML will create an alternate automatically
$mail->MsgHTML("

<body>
<img src=`hulaminlogo.jpg`>&nbsp;&nbsp;&nbsp;&nbsp;
<br>
<h3>Load Number $loadnumber has been revoked by LOC.</h3><br>
</body>

");
$mail->Send();

MsgHTML 工作正常,但<img src="hulaminlogo.jpg">不显示。我也试过''。" 不起作用,因为它结束了值 MsgHTML。

如何正确格式化此语法以使图像正确显示?

4

5 回答 5

3

Nikola 是正确的,将完整的 url 添加到 img 将使客户端能够查找和呈现内容 - 但默认情况下,大多数浏览器不会去获取内容,除非明确告知这样做。简单地将 iage 添加为附件将无济于事 - 一些 MUA 可能会呈现它,大多数不会。在电子邮件中嵌入图像有 2 个选项。

  1. 使用mhtml创建复合 MIME 附件(与 MS 客户端一起使用,但仅此而已,需要大量重写代码)

  2. 使用数据 uris(需要一个相当最新的客户端,但只需要对您的代码进行最少的更改)

于 2012-12-28T10:10:06.073 回答
1

将图像作为附件添加到您的消息中

升级版:

    <body style="margin: 10px;">
<div style="width: 640px; font-family: Arial, Helvetica, sans-serif; font-size: 11px;">
<div align="center"><img src="images/phpmailer.gif" style="height: 90px; width: 340px"></div><br>
<br>
&nbsp;This is a test of PHPMailer.<br>
<br>
This particular example uses <strong>HTML</strong>, with a &lt;div&gt; tag and inline<br>
styles.<br>
<br>
Also note the use of the PHPMailer logo above with no specific code to handle
including it.<br />
Included are two attachments:<br />
phpmailer.gif is an attachment and used inline as a graphic (above)<br />    
<br />
PHPMailer:<br />
Author: Andy Prevost (codeworxtech@users.sourceforge.net)<br />
Author: Marcus Bointon (coolbru@users.sourceforge.net)<br />
</div>
</body>

然后你发送那个

 $mail->MsgHTML(file_get_contents('contents.html'));
 $mail->AddAttachment('images/phpmailer.gif');  

就是这样

于 2012-12-28T10:01:49.670 回答
1

你必须把完整的链接到图像,所以http://yoursite.com/path/hulaminlogo.jpg

于 2012-12-28T10:02:22.660 回答
1

对于电子邮件,您需要将 URL 路径添加到图像<img>src

<img src='http://www.YOUR_SITE.com/hulaminlogo.jpg'>&nbsp;&nbsp;&nbsp;&nbsp;
于 2012-12-28T10:03:18.533 回答
1

注意到,ms outlook有一些奇怪的行为。所以我建议你只使用图片的绝对网址。

该解决方案可为您提供最佳结果。

于 2012-12-28T10:06:49.263 回答