2011-09-03 3 views
6

Gmail에 이미지가 포함 된 HTML 메일 - 다음 이메일 본문과 함께 - 정확한 텍스트가 나옵니다. "body"태그 안에 무엇이 있는지는 보여주지 않습니다.Gmail의 HTML 이메일 - 이미지 포함

Content-Type: multipart/related; 

boundary="bananarepublic12345" 

This is a multipart message in MIME format. 

--banana12345republic 

Content-Type: text/html; charset=ISO-8859-1 

Content-Transfer-Encoding: 7bit 


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" 
     "http://www.w3.org/TR/html4/strict.dtd"> 
<html> 
<head> 
    <title>testing embedded image</title> 
</head> 
<body bgcolor="#000"> 
    <h1> Testing Embedded Image</h1> 
    <img src="cid:mambo" alt="ALTERNATE TEXT" > 
</body> 
</html> 

--bananarepublic12345 

Content-Type: image/jpeg; name=big-image1.jpg 

Content-Transfer-Encoding: base64 

Content-ID: <mambo> 

Content-Disposition: inline; 

filename="big-image1.jpg" 

/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ...//2Q%3D%3D 

나는 잘못을 하겠어 :

이 메일의 내용입니까?

의견을 보내 주셔서 감사합니다.

+0

당신이 메일을 생성하는 방법? – itsols

+0

수동. 나는 단지 하나의 이미지가 포함 된 간단한 메일을 Gmail에서 보내려고합니다. –

답변

7

나는 4018709의 지침에 따라 잘 작동했다. 요약하면 첨부 파일이 메시지 ID (@ 및 도메인과 함께 전자 메일 주소처럼 형식화 됨)와 같은 형식으로되어 있고 MIME 부분 헤더에 콘텐츠 ID 값이있는 콘텐츠 ID가 필요합니다. 꺽쇠 괄호로 묶인 이미지 (이미 당신처럼).

그래서 샘플 이메일은 다음과 같이 보일 수 있습니다 :

Date: Fri, 2 Dec 2011 06:57:55 GMT 
Message-Id: <[email protected]> 
Content-Type: multipart/related; boundary="=-blabla"; type="multipart/alternative" 
From: Some sender <[email protected]> 
To: Me <[email protected]> 
Subject: HTML content with embedded images 
MIME-Version: 1.0 

--=-blabla 
Content-Type: text/html; charset="utf-8" 
Content-Transfer-Encoding: quoted-printable 

<html><body> 
<h1>Header</h1> 
<h2><a href=3D"http://geek.co.il">link</a></h2> 
<p> 
<img border=3D"0" = 
src=3D"cid:[email protected]"/> 
<p> 
</body></html> 

--=-blabla 
Content-ID: <[email protected]> 
Content-Disposition: inline; filename="image.png" 
Content-Type: image/png; name="image.png" 
Content-Transfer-Encoding: base64 

iVBORw0KGgoAAAANSUhEUgAAA9YAAAE2CAMAAACz7PorAAADAFBMVEUAAAC9... 
+0

"3D"는 HTML에서 등호 뒤에 무엇을합니까? – doABarrelRoll721

+1

HTML 부분의 MIME 헤더에서 볼 수 있듯이 HTML 부분은 "quoted-printable"인코딩을 사용하여 인코딩됩니다. Quoted-printable은 긴 줄을'= '문자로 나눔으로써 최대 선폭을 강제로 허용하는 최소한의 텍스트 인코딩입니다 (HTML의 5 행에서 사용되는 것을 볼 수 있습니다). 따라서 내용의 모든'= '문자 (인쇄 할 수없는 문자)는'= '으로 쓰면 "따옴표"를 붙여야합니다. 그래서'border = "0"''border = 3D "0"'으로 인코딩됩니다. 자세한 내용은 RFC 2045를 참조하십시오. – Guss

관련 문제