在邮件中显示PHP图像而不下载
问题的原因是可能有两种情况:
1. 你不想在邮件中嵌入实际的图像文件,可以简单地在邮件中插入一个<img>
元素,链接到远程位置的图像,就像在任何其他HTML页面中一样。然后祈祷客户端启用了HTML邮件并允许显示远程图像。
2. 你不想从远程服务器引用文件,而是要将其嵌入到邮件中。在这种情况下,可以参考How To Embed Images in HTML EMail或Attaching an image to an email。
问题的原因是:使用PHP Mailer发送邮件时,通过AddAttachment方法添加附件后,PHP Mailer会检查HTML内容中是否有对该文件的引用,并自动将其嵌入邮件中。
解决方法是:在发送邮件之前,通过AddAttachment方法将图片附件添加到邮件中,然后在HTML内容中使用标签引用该图片。这样PHP Mailer会自动将图片嵌入邮件中,而不会让收件人下载附件。
以下是整理后的
如果你正在使用PHP Mailer发送邮件...
$mail = new PHPMailer(); $mail->SetFrom("blah.com"); $mail->AddAddress("blah.com"); $mail->Subject = "Blah" $mail->MsgHTML('<html><body><img src="logo.jpg">Hello</body></html>'); $mail->AddAttachment("logo.jpg"); $mail->Send();
使用AddAttachment方法,PHP Mailer会检查你的HTML内容是否引用了该文件,并自动将其嵌入邮件中。这样,收件人在收到邮件时,不需要下载附件,就能直接看到图片。