Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP/HTML:发送带有背景图像的电子邮件_Php_Http Headers_Background Image_Html Email - Fatal编程技术网

PHP/HTML:发送带有背景图像的电子邮件

PHP/HTML:发送带有背景图像的电子邮件,php,http-headers,background-image,html-email,Php,Http Headers,Background Image,Html Email,我编写了一个脚本来发送带有背景图像的电子邮件 它是这样开始的: ... $headers = "From: " . $from . "\r\n"; $headers .= "Reply-To: ". $from . "\r\n"; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-Type: text/html; charset=UTF-8\r\n"; $message = '&

我编写了一个脚本来发送带有背景图像的电子邮件

它是这样开始的:

    ...
    $headers  = "From: " . $from . "\r\n";
    $headers .= "Reply-To: ". $from . "\r\n";
    $headers .= "MIME-Version: 1.0\r\n";
    $headers .= "Content-Type: text/html; charset=UTF-8\r\n";
    $message  = '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/strict.dtd">';
    $message .= '<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head>';
    $message .= '<body style="background:url(http://www.xxxx.com/assets/background.jpg) no-repeat;">';
    ....
通常情况下,背景图像不会出现在最终用户的邮件客户端上。这是由邮件客户端的安全设置引起的,并且取决于一个客户端到另一个客户端

我知道几年前我也有同样的问题,而且有一个解决办法。 我记得这与图片应该以某种方式编码在消息的标题中这一事实有关,但我只是不记得如何编码,我也没有在网上找到任何关于这一点的参考资料

我所知道的是,它在大多数情况下都是有效的,并不总是有效的,但我知道没有完美的解决方案,只有比其他解决方案更好的解决方案,css链接选项只是一个糟糕的选项

你知道如何在电子邮件中编码和嵌入图片,而不是使用css链接吗


谢谢

您的背景URL中缺少引号。您还可以尝试在需要背景的主体或对象上使用background=HTML属性

要使其在outlook中工作,请查看以下内容:

哪里没有显示背景?Outlook?在其他邮件客户端中,是的