2013-04-22 3 views
0

나는 다음과 같은 코드가 있습니다 그것은 CSS 내부의 이미지 (? 않습니다이 모듈도 아닌 HTML 태그를 구문 분석)을 표시하지 않습니다처럼MIME :: 라이트와 인라인 CSS 이미지

#!/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  => '[email protected]', 
     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>으로 잘 표시합니다. 나는 심지어 background-image: url("cid:background.png");background-image: url("background.png");으로 바꾸려고 시도했지만이 방법도 잘 작동하지 않았습니다.

어떤 아이디어가 있습니까?

답변

1

나는 CSS::Inliner을 원할 것입니다. 이 문제를 해결하기 위해 특별히 설계되었습니다.

html 이메일 클라이언트에는 많은 제약이 있습니다. 당신이 주제를 중심으로 구글을 찾으면 그들 모두는 그들 자신의 매력적인 단점을 보게 될 것이다.

+0

인라인 (HTML 태그 내부) 스타일이 여전히 작동하지 않는 경우에도 마찬가지입니다. 아직 모듈을 확인하지 않습니다. – snoofkin

+0

HTML이 유효하지만 여전히 뷰어에 표시되지 않으면 (1) 자신의 HTML 메시지를 직접 작성하여 작동하는 주문을 찾을 수 있는지 그리고 (2)) 배경 이미지가있는 작업 메시지를 찾고 그 메시지가 무엇인지 확인합니다. –

+0

당신은 분명히 CSS :: Inliner를 원할 것입니다 - 나는이 이유 때문에 이것을 썼습니다. – kamelkev