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();

画像を背景として配置したり、正常に表示したりすると、CSS 内に画像が表示されないようです (このモジュールは非 HTML タグも解析しますか?) <img>。に変えてみbackground-image: url("cid:background.png");ましbackground-image: url("background.png");たが、これもうまくいきませんでした。

何か案が?

4

1 に答える 1

1

CSS::Inlinerが必要になると思います。この問題のために特別に設計されています。

HTML メールクライアントには多くの制限があります。この件についてグーグルで検索すると、それらすべてに独自の魅力的な癖があることがわかります.

于 2013-04-22T13:39:22.060 に答える