【问题标题】:PHP/HTML : sending email with background imagePHP/HTML:发送带有背景图片的电子邮件
【发布时间】:2014-11-25 22:40:08
【问题描述】:

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

它是这样开始的:

    ...
    $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 链接吗?

谢谢

【问题讨论】:

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

标签: php http-headers background-image html-email


【解决方案1】:

您的背景网址中缺少引号。您也可以尝试在需要背景的body&lt;td&gt; 上使用background="" HTML 属性。

要使其在 Outlook 中运行,请查看以下内容: http://backgrounds.cm/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-31
    • 2019-08-23
    • 2017-06-14
    • 2011-01-14
    • 2021-06-12
    • 2023-03-22
    相关资源
    最近更新 更多