【问题标题】:Sending HTML formatted email in Android在 Android 中发送 HTML 格式的电子邮件
【发布时间】:2011-06-01 18:51:17
【问题描述】:

我已经成功创建了一个计算价格的 Android 应用程序,然后能够以预先格式化的方式将该数据传输到用户选择的电子邮件程序。根据用户在应用程序中创建的数据,将包含 HTML 的字符串读入意图。我的代码是:

final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);

emailIntent.setType("text/html");
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml(emailText));
QuoteDroid.this.startActivity(emailIntent);

这一切都很好,当我选择 Gmail 应用程序时,电子邮件大部分格式正确,并且通常发送大部分 正确。我遇到的问题是,出于商业目的,我必须从非 gmail 帐户发送它。当我在手机上选择通用电子邮件应用程序时,它无法正确处理 HTML,当我发送电子邮件时,它是纯文本格式的。

我已经阅读了无数文章和论坛帖子,但无济于事。如何处理包含 HTML 的字符串,以使接收者可以正确查看电子邮件(使用内置电子邮件应用程序发送后)的格式?

【问题讨论】:

  • 你没有碰巧找到解决这个问题的方法吗?
  • 很遗憾,没有,唯一的办法是编写从应用程序发送电子邮件的能力,或者为此用途构建一个全新的电子邮件应用程序。市场上可能有一个发送 HTML 的应用程序。

标签: java android html email


【解决方案1】:

由单个邮件应用程序正确处理它作为EXTRA_TEXT 接收的字符串。表现良好的邮件应用会看到 mimetype 并适当地处理 EXTRA_TEXT,但并非所有邮件应用都这样做。

【讨论】:

  • 对,对我应该如何进行有什么建议吗?
  • 您建立了直接从应用程序发送电子邮件的能力:jondev.net/articles/…
【解决方案2】:
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:"));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-26
    • 2014-06-22
    • 2013-11-08
    • 2017-08-17
    • 1970-01-01
    相关资源
    最近更新 更多