我已经编写了一个脚本来发送带有背景图像的电子邮件。
它是这样开始的:
...
$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 链接吗?
谢谢
您的后台网址上缺少引号。您也可以尝试在需要背景的body
或<td>
上使用 background=""
HTML 属性。
要让它在 Outlook 中工作,请查看以下内容:http://backgrounds.cm/