php mail()链接图片

时间:2010-09-26 12:27:30

标签: php image email

我正在尝试使用以下代码发送电子邮件:

$htmlHeaders="";
$htmlHeaders  = "MIME-Version: 1.0 \r\n";
$htmlHeaders .= "Content-type: text/html; charset=iso-8859-1 \r\n";
$htmlHeaders .= "X-Mailer: PHP/" . phpversion(). "\r\n";
$htmlHeaders .= "From: System <test@test.com> \r\n";

mail("dest@example.com","Subject",'New test <img src="http://www.someserver/image.jpg">',$htmlHeaders);

我注意到的是,对于某些图像(我总是通过http链接链接图像)工作正常并且邮件正确传递,而对于其他一些图像我遇到问题;也就是说,图像不会被传递。

例如,尝试使用此图片无效:http://img826.imageshack.us/img826/2601/gitaallago.png

我想这是标题的问题,但我真的不明白如何解决这个问题。

任何提示?

2 个答案:

答案 0 :(得分:1)

问题通常是邮件客户端。默认情况下,某些邮件客户端只会下载一定大小的图像,有些则根本不会下载任何图像。

你最好的选择(尽管它可能比你现在所做的工作要多得多)是将图像附加到带有CID的电子邮件中并以这种方式引用图像(<img src="cid:whatever">

它会增加您的电子邮件的大小,因为您必须使用每封电子邮件传输图像,但它会以更多的方式显示在更多的邮件客户端中。

答案 1 :(得分:0)

服务器是否为图像提供了正确的MIME类型?

您没有说清楚您是否将图像保存在服务器上,并从那里链接到图像,或直接从Imageshack链接到该图像(在此示例中)。如果您是直接链接Imageshack,然后MIME类型肯定不是问题。但是,值得研究一下,如果您在服务器上托管图像。