1

我想知道是否可以为不支持动画 gif 的特定电子邮件客户端提供不同的图像。我知道可以使用 PHP 动态生成图像。

因此,如果在电子邮件客户端发送下载动态图像的请求时可以读取用户代理字符串之类的内容,即<img src="http://myserver.com/someimage.php" />php 可以向不支持动画 gif 的电子邮件客户端发送不同的图像。

这是否可能,或者是否有类似的工作来嗅探动画 gif 支持并提供替代图像?

4

3 回答 3

3

开始测试它。启动一个不支持它的客户端,向自己发送有问题的消息,然后查看 HTTPD 日志。您可能必须根据具体情况编写代码。

于 2011-01-07T21:11:48.320 回答
1

好的,感谢建议图像记录的 ProfitPHP。我想出了以下...

<?php 
// Find needle in User Agent Hay Stack
$useragent = $_SERVER['HTTP_USER_AGENT'];
$isLotus = strpos($useragent,'Lotus-Notes');
$isMsoffice = strpos($useragent,'MSOffice');

// Route request to supported image
if ($isLotus === false && $isMsoffice === false) {
    header('Content-type: image/gif');
    readfile('images/email-announcement_02.gif');
} else {
    header('Content-type: image/gif');
    readfile('images/noAnim_02.gif');   
}
?>

这将找到不支持 .GIF 动画的 Lotus Notes 或 MS Outlook 版本。您可以将 readfile 更改为您自己的本地文件。

我已经在 Outlook 2001-2010 和 lotus Notes 6-8 上对此进行了测试,它为适当的版本提供了适当的图像。

于 2011-01-17T20:00:26.273 回答
-1

我从来没有听说过不支持动画 gif 的电子邮件客户端,除非可能是因为尺寸原因。

我的理解是,您可以将两种类型的图像放入电子邮件中。第一个是附加图像,您可以在其中将图像与电子邮件一起作为电子邮件的一部分发送。第二个是外部图像,您可以在其中引用来自网站的图像。

我认为您要查看的是发送 MIME 电子邮件。如果你 google php mime 你会想出很多结果。

本质上,这将允许您根据客户的能力发送一封位于不同部分的电子邮件。根据经验,我发送的 MIME 电子邮件只有 html 和文本。因为一些电子邮件客户端不接受 html 消息。

我希望这能给你一些方向。

于 2011-01-07T21:12:54.160 回答