2014-10-15 9 views
7

Devo richiamare la finestra di composizione Outlook quando si preme un pulsante e il corpo deve contenere l'immagine di uno specifico DIV. Sto usando html2canvas per catturare l'immagine, con mailto sono in grado di sparare a una prospettiva componi l'istanza di posta ma sembra che mailto sia per semplice testo normale e non supporti l'immagine incorporata nella casella di posta.Invio di posta da una pagina HTML con l'immagine nel corpo

Qualche idea, pensieri?

+1

'Mailto' è estremamente limitato e può essere utilizzato nei casi più semplici. Questo, sfortunatamente, non sembra un caso semplice. Potrebbe essere necessario iniziare a studiare soluzioni lato server. –

+0

C'è un modo per farlo se è possibile utilizzare un'applicazione C#. Ma non con HTML/JavaScript. Vedi la mia risposta (soluzione C# non inclusa). – Krumia

risposta

10

TL; DR: Non è possibile farlo.


È possibile utilizzare Data URI Scheme per incorporare un'immagine in formato HTML. Se un tipo di email MIME è text/html puoi fare lo stesso. Dovrai codificare la tua immagine con una codifica adatta (ad es .: base64).

Ad esempio:

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA 
 
AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO 
 
9TXL0Y4OHwAAAABJRU5ErkJggg==" alt="Red dot" />

Tuttavia, you cannot include HTML in the body part of the mailto: URL. Il contenuto del parametro body è considerato di testo semplice come da RFC 2368.

Lo speciale hname "body" indica che l'hvalue associato è il corpo del messaggio. Il nome "corpo" dovrebbe contenere il contenuto per la prima parte di testo/corpo normale del messaggio. L'URL mailto è principalmente destinato alla generazione di brevi messaggi di testo che sono in realtà il contenuto dell'elaborazione automatica (come i messaggi "subscribe" per le mailing list), non i corpi MIME generali.

Quindi, se si utilizza un URL codificato HTML come parametro body di un URL mailto:, ecco cosa succede:

<a href="mailto:[email protected]?subject=Check%20this%20out!&body=%3Cp%3EHi%3C%2Fp%3E%3Cimg%20src%3D%22data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4%2F%2F8%2Fw38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg%3D%3D%22%20alt%3D%22Red%20dot%22%20%2F%3E">Write Email!</a>

Risultato:

New Outlook mail message

+1

questa è una buona risposta! Mi dispiace per OP che non c'è modo di fare ciò che stai cercando. –

+0

Sì, quindi l'immagine stessa non sarà lì nel corpo giusto, sarà presente solo un codice HTML? – Muthu

+0

@Muthu: Sì, ma puoi farlo perfettamente con un'applicazione C#, se questo corrisponde ai tuoi requisiti. – Krumia

Problemi correlati