0

我有以下代码:

#!/root/bin/perl
use strict;
use warnings;
use MIME::Lite;


my $data =<<"DATA";
<!DOCTYPE HTML PUBLIC >
<html>
<head>
<style>

#header {
  background-image: url("cid:background.png");
}
</style>


</head>
<body>
<div id="header"></div>
<img src="cid:logo_header.png"></img>
</body>
</html>

DATA

my $msg = MIME::Lite->new(
         To      => 'xxx@xxx.com',
         Subject => 'title',
         Type    => 'text/html',
         Data    => $data
    );
    $msg->attach(
        Type => 'image/png',
        Id   => 'logo_header.png',
        Path => 'logo_header.png',
    );
   $msg->attach( Type => 'image/png',
                 Id   => 'background.png',
                 Path => 'background.png'); 
   $msg->send();

<img>当我将图像作为背景放置或显示它时,似乎它没有在 CSS 中显示图像(这个模块甚至解析非 HTML 标签吗?) 。我什至尝试background-image: url("cid:background.png");变成background-image: url("background.png");,但这也不起作用。

任何想法?

4

1 回答 1

1

我想你会想要CSS::Inliner。专门为这个问题设计的。

html 电子邮件客户端有很多限制。如果您围绕该主题进行谷歌搜索,您会发现他们都有自己迷人的怪癖。

于 2013-04-22T13:39:22.060 回答