2011-09-03 17 views
6

जीमेल में एक एम्बेडेड छवि के साथ एचटीएमएल मेल - निम्नलिखित ईमेल बॉडी के साथ - बस सटीक पाठ को थकाता है। यह दिखाता है कि "बॉडी" टैग के अंदर क्या है।जीमेल में एचटीएमएल ईमेल - छवियों को एम्बेड करना

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

मैन्युअल रूप से। मैं सिर्फ जीमेल से एक साधारण मेल भेजने की कोशिश कर रहा हूं जिसमें इसमें एक एम्बेडेड छवि है। –

उत्तर

7

मैंने प्रश्न 4018709 में दिए गए निर्देशों का पालन किया है और यह अच्छी तरह से काम किया है। इसे समेकित करने के लिए, आपको अनुलग्नक के लिए सामग्री आईडी की आवश्यकता होती है जैसे कि संदेश आईडी (जो बदले में ईमेल पते की तरह स्वरूपित होते हैं - एक @ और एक डोमेन के साथ), और एमआईएम भाग हेडर में सामग्री आईडी मान है कोण को ब्रैकेट में संलग्न किया गया है (जैसा कि आप पहले से ही करते हैं)।

तो एक नमूना ईमेल कुछ ऐसा दिखाई देगा:

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

वह "3 डी" आपके एचटीएमएल में बराबर चिह्न के बाद क्या करता है? – doABarrelRoll721

+1

जैसा कि आप HTML भाग के MIME शीर्षकों से देख सकते हैं, HTML भाग "उद्धृत-प्रिंट करने योग्य" एन्कोडिंग का उपयोग करके एन्कोड किया गया है। उद्धृत-प्रिंट करने योग्य एक न्यूनतम टेक्स्ट एन्कोडिंग है जो '= 'वर्ण के साथ लंबी लाइनों को विभाजित करके अधिकतम पंक्ति चौड़ाई को मजबूर करने की अनुमति देता है (और आप देख सकते हैं कि यह HTML के लाइन 5 में उपयोग किया जाता है)। इस प्रकार, सामग्री में सभी '=' वर्ण (साथ ही साथ किसी भी गैर-प्रिंट करने योग्य वर्ण) को उन्हें '= ' के रूप में लिखकर "उद्धृत" किया जाना चाहिए। तो 'सीमा =" 0 "' 'सीमा = 3 डी" 0 "' में एन्कोड हो जाता है। अधिक जानकारी के लिए, चेकआउट आरएफसी 2045। – Guss