繁体   English   中英

发送带有HTML正文中图像的电子邮件意图

[英]Send email intent with image in html body

是否可以使用意图在体内发送带有图像的电子邮件。 我正在使用托管的图片...

public void sendEmail(View view){
    Intent intent = new Intent(Intent.ACTION_SEND);
    intent.setType("text/html");
    intent.putExtra(Intent.EXTRA_SUBJECT, "Image in body test");

    intent.putExtra(Intent.EXTRA_TEXT, Html.fromHtml(getHtmlBody()));
    startActivity(Intent.createChooser(intent, "Send Email"));
}

private String getHtmlBody() {
    String html = "<h1><img width=\"100\" src=\"http://cdn2-www.dogtime.com/assets/uploads/gallery/30-impossibly-cute-puppies/impossibly-cute-puppy-8.jpg\">   Hello World </h1>";
    return html;
}

我可以使用javaMail来执行此操作,但是它将自动发送电子邮件,而用户看不到任何内容,因此我希望可以使用意图。

EXTRA_HTML_TEXT ,可让您提供HTML作为EXTRA_TEXT本的EXTRA_TEXT 但是,不能保证接收应用程序支持此额外功能(因此也必须存在EXTRA_TEXT的要求)。

代码看起来像这样:

public void sendEmail(View view){
  Intent intent = new Intent(Intent.ACTION_SEND);
  intent.setType("text/plain");
  intent.putExtra(Intent.EXTRA_SUBJECT, "Image in body test");
  intent.putExtra(Intent.EXTRA_TEXT, getTextBody());
  intent.putExtra(Intent.EXTRA_HTML_TEXT, getHtmlBody());

  startActivity(Intent.createChooser(intent, "Send Email"));
}

private String getHtmlBody() {
  return "<h1><img width=\"100\" src=\"http://cdn2-www.dogtime.com/assets/uploads/gallery/30-impossibly-cute-puppies/impossibly-cute-puppy-8.jpg\">"
      + getTextBody() + "</h1>";
}

private String getTextBody() {
  return "Hello world";
}

不支持HTML的应用将仅使用EXTRA_TEXT的文本。

Arpit Garg在这篇文章中给出的答案与大多数电子邮件客户端中的标签和标记均不兼容,因此很遗憾,您的代码无法正常工作。 我刚刚使用Gmail应用程序和其他一些应用程序对您的代码进行了测试,但它使用的是占位符,而不是实际图像。 但是,您可以做的是将图像添加为附件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM