Android的电子邮件和GMail应用程序从电子邮件中删除HTML格式

时间:2013-10-18 13:08:25

标签: android html email

我做了一些搜索,我认为没有任何东西可以解答我对GMail版本4.6的问题

我的问题是我无法在我创建的Android应用程序发送的电子邮件中呈现HTML格式。我正在使用定义了text / html类型的意图。我认为问题是由GMail应用程序引起的,因为它在发送之前从我的电子邮件中剥离了HTML。

我添加了可能导致问题的代码,除非它是GMail。

String body =
       "<table border='1'>" +
              "<tr>" +
                     "<td>Paint Cost(Exc VAT)</td>" +
                     "<td>£" +  String.format("%.2f", (subtotal - ((subtotal * 20)/100))) + "</td>" +
              "</tr>" +
              "<tr>" +
                     "<td>Paint Cost(Inc VAT)</td>" +
                     "<td>£" + String.format("%.2f", subtotal) + "</td>" +
              "</tr>" +
              "<tr>" +
                     "<td>Undercoat Cost(Exc VAT)</td>" +
                     "<td>£" +  String.format("%.2f", (undercoat - ((undercoat * 20)/100))) + "</td>" +
              "</tr>" +
              "<tr>" +
                     "<td>Undercoat Cost(Inc VAT)</td>" +
                     "<td>£" +  String.format("%.2f", undercoat) + "</td>" +
              "</tr>" +
              "<tr>" +
                     "<td>Total Cost(Exc VAT)</td>" +
                     "<td>£" +  String.format("%.2f", (total - ((total * 20)/100))) + "</td>" +
              "</tr>" +
              "<tr>" +
                     "<td>Total Cost(Inc VAT)</td>" +
                     "<td>£" +  String.format("%.2f", total) + "</td>" +
              "</tr>" +
              "<tr>" +
                     "<td>Total VAT</td>" +
                     "<td>£" +  String.format("%.2f", ((total *20)/100)) + "</td>" +
              "</tr>" +
       "</table>";

emailIntent.setType("text/html");
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{email});
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Paint Cost");
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml(body)
);

startActivity(Intent.createChooser(emailIntent, "Send mail..."));

提前致谢。

编辑1

String body =
       "<table border='1'>" +
              "<tr>" +
                     "<td>Paint Cost(Exc VAT)</td>" +
                     "<td>£" +  String.format("%.2f", (subtotal - ((subtotal * 20)/100))) + "</td>" +
              "</tr>" +
              "<tr>" +
                     "<td>Paint Cost(Inc VAT)</td>" +
                     "<td>£" + String.format("%.2f", subtotal) + "</td>" +
              "</tr>" +
              "<tr>" +
                     "<td>Undercoat Cost(Exc VAT)</td>" +
                     "<td>£" +  String.format("%.2f", (undercoat - ((undercoat * 20)/100))) + "</td>" +
              "</tr>" +
              "<tr>" +
                     "<td>Undercoat Cost(Inc VAT)</td>" +
                     "<td>£" +  String.format("%.2f", undercoat) + "</td>" +
              "</tr>" +
              "<tr>" +
                     "<td>Total Cost(Exc VAT)</td>" +
                     "<td>£" +  String.format("%.2f", (total - ((total * 20)/100))) + "</td>" +
              "</tr>" +
              "<tr>" +
                     "<td>Total Cost(Inc VAT)</td>" +
                     "<td>£" +  String.format("%.2f", total) + "</td>" +
              "</tr>" +
              "<tr>" +
                     "<td>Total VAT</td>" +
                     "<td>£" +  String.format("%.2f", ((total *20)/100)) + "</td>" +
              "</tr>" +
       "</table>";

emailIntent.setType("text/html");
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{email});
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Paint Cost");
emailIntent.putExtra(android.content.Intent.EXTRA_STREAM, Html.fromHtml(body)
);

startActivity(Intent.createChooser(emailIntent, "Send mail..."));

然而,这似乎使GMail应用程序崩溃了。

2 个答案:

答案 0 :(得分:0)

通过ACTION_SEND调用邮件客户端时,允许用户编辑邮件,并非所有邮件客户端都可以编辑所有可能的HTML标记。特别是那些使用EditText作为编辑基础的人不太可能支持HTML平板电脑。

答案 1 :(得分:0)

Gmail可能会从邮件中剥离HTML作为一种安全手段,或者在其服务器上节省空间,尽管它肯定不会剥夺广告客户的利益。 HTML副本。新应用程序的评论者谈论客户的颜色和清新的外观,但完全忽略了格式化问题和谷歌的现在 - 你现在看到它现在你没有&#39 ; T&#34;切换用户删除用户格式化文本的选项。

转发HTML邮件时,我不认为新客户会删除格式,但我必须检查。

与此同时,我想找到解决这个混乱的方法,我认为只能通过第三方应用来解决。