在不删除 <img> 的情况下发送 HTML 电子邮件意图?

Posted

技术标签:

【中文标题】在不删除 <img> 的情况下发送 HTML 电子邮件意图?【英文标题】:Sending HTML email intents without having <img>'s removed? 【发布时间】:2011-07-09 03:39:31 【问题描述】:

注意:我知道关于 SO 有很多类似的问题。但是,我并不是要内联这些图像,我只是希望 html 保持原样。

似乎通过意图发送 html 电子邮件的正常方法是使用 Html.fromHtml(String)

例如:

Intent intent = new Intent(android.content.Intent.ACTION_SEND);
intent.setType("text/html");
intent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject);
intent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml(htmlString));
startActivity(intent);

但是,正如它在其文档中所述,它将所有标签替换为一个特殊字符,以便与 ImageGetter 一起使用。

我不想内联和附加这些图像。我只希望 img 标签保持原样在 html 中。我不需要附加图片。

例如,我想要: &lt;img src="http://www.somedomain.com/somewebsite/someimage.jpg" /&gt; 保持这种状态。

这可能吗?

谢谢

【问题讨论】:

【参考方案1】:

您确定不只是想要以下内容吗?

intent.putExtra(android.content.Intent.EXTRA_TEXT, htmlString);

将 Spanned 附加到意图而不是仅仅移交 HTML 本身似乎很奇怪。

【讨论】:

我试过了,但是像 Gmail 这样的电子邮件应用程序会像原始文本一样显示 html 代码。它似乎没有渲染它。 不,OP所做的是正确的方法。如果传递的文本是一个字符串,它会被解释为纯文本,即使是 HTML 标签。【参考方案2】:

符合标准的电子邮件客户端将始终去除 img 标签,直到用户另外授予权限。

电子邮件中的图像可以根据请求从服务器上识别您的计算机,因此这是一种安全措施,并且会一直保持这种状态,直到创建一个新的、更好的系统。

【讨论】:

re 电子邮件客户端剥离 img 标签:不完全正确,这不是标准合规问题,而是安全/隐私问题。大多数电子邮件客户端也不会删除引用附加图像而不是 url 的 img 标签 我不确定这是否能回答问题。 OP 正在尝试在电子邮件中 ​​send 图像标签,但这是行不通的;让它们显示在客户端(处理剥离 img 标签的客户端)完全是另一个问题。 我怎样才能授予这个权限?

以上是关于在不删除 <img> 的情况下发送 HTML 电子邮件意图?的主要内容,如果未能解决你的问题,请参考以下文章

Javascript 在不应该删除空格的情况下删除空格?

html中在不知道div大小的情况下,怎样让img匹配这个div大小?

如何在不删除子元素的情况下删除包装器(父元素)?

如何在不删除跨度的情况下更改 html 段落内容?

如何在不使用 C 中的锁的情况下原子地修改结构元素?

如何在不删除旧文档的情况下将 XMLDocument 附加到 LocalStorage