使用Android意图发送HTML邮件

JaV*_*did 17 html email android android-intent

我已经生成了一个HTML代码(带有<html><body></body></html>标签)作为String.现在我想将这个HTML代码作为HTML发送到邮件.我的代码如下.

Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/html");
intent.putExtra(Intent.EXTRA_EMAIL, new String[]{"me@mydomain.com"});
intent.putExtra(Intent.EXTRA_SUBJECT, "I would like to buy the following");
intent.putExtra(Intent.EXTRA_TEXT, purchaseOrder());
startActivity(Intent.createChooser(intent, "sending mail"));
Run Code Online (Sandbox Code Playgroud)

其中的purchaseOrder()方法是将具有完整HTML代码的字符串传递给我.但是,虽然GMail客户端在我的Nexus1上打开,但它包含所有HTML标记的String,而不是实际的HTML视图.我试过以下但是错了.GMail坠毁了.

intent.putExtra(Intent.EXTRA_STREAM, purchaseOrder());
Run Code Online (Sandbox Code Playgroud)

And*_*ane 27

这对我有用:

final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.setType("text/html");
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject);
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml(body));
startActivity(Intent.createChooser(emailIntent, "Email:"));
Run Code Online (Sandbox Code Playgroud)

但我注意到内联样式和图像标签被忽略了......

  • 将对话框设置为"没有应用程序可以执行此操作".安装了一个Gmail客户端. (2认同)

mda*_*ddy 4

对于其他想要这样做的人,可以使用 android-javamailer 在幕后手动发送电子邮件(我已经做到了):

在 Android 中无需用户干预(无意图)发送电子邮件

  • 这如何安全?即使代码被混淆,我仍然可以在代码中以及 strings.xml 中搜索字符串并找到用户名和密码。 (2认同)