2011-09-03 132 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

手作業で。私はちょうどそれに1つの埋め込まれたイメージを持っているGmailから簡単なメールを送信しようとしています。 –

答えて

7

質問4018709の指示に従っており、うまくいきました。要約すると、添付ファイルがメッセージID(@とドメインで電子メールアドレスのようにフォーマットされている)のようにフォーマットされ、MIMEパートヘッダーのコンテンツ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

関連する問題