2016-05-30 7 views
3

mir einen Entwurf Nachricht in GMail über die API und die rohe Botschaft ist die Schaffung (vor base64urlencoding):Bilder nicht in Entwurf Rendering erstellt mit Gmail API

X-Sender: [email protected] 
X-Receiver: [email protected] 
MIME-Version: 1.0 
From: [email protected] 
To: [email protected] 
Subject: This email is from API 
Content-Type: text/html; charset=us-ascii 
Content-Transfer-Encoding: quoted-printable 

<html> 
    <style> 
     p{margin-top:0px; margin-bottom:0px;} 
    </style> 
    <body class="setupTab" style=" background-color:#CCCCCC; bEditID:b1st1; bLabel:body;"> 
     <center > 
      <table cellpadding="0" width="500" cellspacing="0" id="topTable" height="450" > 
       <tr valign="top" > 
        <td style=" background-color:#FFFFFF; bEditID:r1st1; bLabel:header; vertical-align:top; height:100; text-align:left;"> 
         <img border="0" bEditID="r1sp1" bLabel="headerImage" id="r1sp1" src="https://cs31.salesforce.com/servlet/servlet.ImageServer?id=<someid>&oid=<someid>" ></img> 
     .... 
    </body> 
</html> 

Benutzer dann auf https://mail.google.com/mail/u/0/#drafts?compose=<id> umgeleitet werden, um die E-Mail überprüfen und dann senden.

jedoch die Bilder, ein Teil der html, werden nicht gerendert/angezeigt. Es gibt noch einige kleinere Probleme mit dem HTML-Rendering, aber Bild ist kritisch zu haben.

Irgendwelche Gedanken?

+0

[Etwas verwandte] (http://stackoverflow.com/questions/4312687/how-to-embed-images-in-email) – Tholle

Antwort

1

I alternativen Ansatz versucht folgende und es funktioniert, ohne die Nachricht Umwandlung zu mehrteilig.

Alle ersetzen '=' Zeichen mit '= 3D' in etwa so:

<img border=3D"0" bEditID=3D"r1sp1" bLabel=3D"headerImage" id=3D"r1sp1" src="https://cs31.salesforce.com/servlet/servlet.ImageServer?id=<someid>&oid=<someid>" ></img> 

Und Contact-Transfer-Encoding: quoted-printable

das Bild verwenden, wurde dann richtig in GMail Entwurf gemacht.

3

Sie brauchen eine multipart/related-Nachricht zu erstellen, in dem ein Teil der HTML-Inhalt der E-Mail ist und der andere Teil ist das Bild. Der Image-Teil enthält einen Content-ID-Header, der eine ID für das Image angibt, und das HTML-Image-Tag verweist auf diese ID im src-Attribut im Format cid: ID_HERE.

Wenn die Erstellung, das ist schwer, Sie hier diejenigen Skripte und Bibliotheken wie erwähnt verwenden können: creating a MIME email template with images to send with python/django

auch eine ähnliche Frage: GMAIL API for sending Email with attachment

+0

Danke, funktioniert das! Konvertieren von HTML mit src = zu eingebetteten base64-Bild wird eine Herausforderung in Salesforce sein :) – redfox88