我正在尝试发送带有HTML正文的电子邮件。 我有一个包含一些有效的HTML的字符串:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"/>
</head>
<body>%s</body>
</html>
我用一些HTML替换%s。
然后我尝试使用以下代码将其作为HTML电子邮件发送:
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/html");
intent.putExtra(Intent.EXTRA_SUBJECT, "subject");
intent.putExtra(Intent.EXTRA_TEXT, myhtmlcontent);
context.startActivity(Intent.createChooser(intent, context.getText(R.string.share)));
但我只收到html源代码作为纯文本
现在如果我替换
intent.putExtra(Intent.EXTRA_TEXT, myhtmlcontent);
带
intent.putExtra(Intent.EXTRA_TEXT, Html.fromHtml(myhtmlcontent));
我收到了一封有效的HTML电子邮件,但我的所有图片都被一些特殊字符所取代。有没有办法保留我的原始html内容并将其显示为HTML电子邮件?
这是我的完整HTML代码
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
</head>
<body><p><a href="http://www.dailymars.net/wp-content/uploads/2014/05/Ant-Man.jpg"><img
class="aligncenter size-full wp-image-55602"
src="http://www.dailymars.net/wp-content/uploads/2014/05/Ant-Man.jpg" alt="Ant-Man"
width="720" height="302"/></a></p>
<p>Les enfants, l’heure est grave. Vous l’avez compris car vous l’avez lu dans le
titre de la news (eh ouaip!), <strong>Edgar Wright</strong> ne réalisera finalement pas <em>Ant
Man</em>. Alors qu’il était rattaché au projet depuis 2006 et qu’il en avait
écrit le scénario avec <strong>Joe Cornish</strong>, <strong>Marvel </strong>a annoncé que le
réal avait quitté le navire. La faute à quoi? Des « différences créatives »,
soit la meilleure excuse qu’Hollywood aie jamais inventé.</p>
<p><strong>Marvel </strong>a par ailleurs ajouté que le départ de <strong>Wright </strong> ne
changerait rien au casting ni à la date de sortie du film et qu’un remplaçant, dont le nom
devrait bientôt tomber, avait déjà été engagé. Dommage, ça n’aura pas la même saveur.</p>
<p><em>Ant Man</em> avec <strong>Paul Rudd, Michael Douglas, Evangeline Lilly, Corey Stoll, Michael
Pena</strong> et <strong>Patrick Wilson.</strong> Mais sans <strong>Edgar Wright</strong>.
Sortie en juillet 2015</p>
<p style="text-align: right;"><em>Source: <a
href="http://variety.com/2014/film/news/edgar-wright-leaves-marvels-ant-man-1201190458/">Variety</a></em>
</p>
</body>
</html>
答案 0 :(得分:2)
任何Intent
的解释取决于接收者。有许多 ACTION_SEND
处理程序,包括许多电子邮件应用程序。电子邮件应用程序发送的HTML与您提供的HTML完全相同没有要求。
特别是,很少(如果有的话)电子邮件应用程序将支持HTML,其中包含HTML包含的一些结构,例如:
<meta>
class
属性style
属性这是因为大多数电子邮件应用都会使用EditText
来允许用户编辑电子邮件,大多数电子邮件应用都会使用Html.fromHtml()
来生成Spanned
以提供给{{ 1}}作为起始文本。 EditText
不支持我引用的内容。 This blog post引用了2010年支持的内容,而AFAIK自那时以来没有太大变化。
因此,如果您坚持使用HTML tags and attributes that work with Html.fromHtml()
,您将最大限度地提高您的HTML将完好无损地发送或接近完整的几率。但是,不能保证它会,因为这取决于电子邮件应用程序作者,而不是你。
答案 1 :(得分:0)
你所做的似乎是正确的。只需上传服务器上的图像,然后使用&lt;和电子邮件,在电子邮件的BODY中为您的图像提供实际链接。 img src =&#34; / link / to / your / image&#34; /&GT;标签