当按下按钮并且正文应包含特定DIV的图像时,我必须打开outlook compose框。 我正在使用html2canvas来捕获图像,使用mailto我可以触发outlook compose邮件实例,但似乎mailto是简单的纯文本,并且不支持将图像嵌入邮箱。
任何想法,想法?
答案 0 :(得分:13)
TL; DR:你不能这样做。
您可以使用Data URI Scheme在HTML中嵌入图片。如果电子邮件MIME类型为text/html
,您也可以这样做。您必须使用合适的编码对图像进行编码(例如:base64
)。
例如:
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA
AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO
9TXL0Y4OHwAAAABJRU5ErkJggg==" alt="Red dot" />
然而 ,you cannot include HTML in the body
part of the mailto:
URL。根据{{3}},body
参数的内容被视为纯文本。
特殊的hname“body”表示关联的hvalue是消息的正文。 “body”hname应该包含消息的第一个text / plain正文部分的内容。 mailto URL主要用于生成实际上是自动处理内容的短文本消息(例如邮件列表的“订阅”消息),而不是一般的MIME主体。
因此,如果您使用URL编码的HTML作为body
网址的mailto:
参数,则会发生以下情况:
<a href="mailto:email@domain.com?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>
<强> 结果: 强>