24

Gmail 4.2.1 では、HTML 形式のメールが壊れている可能性があります。次のコードは、4.2.1 より前では完全に機能していました。Gmail から送信された電子メールには、目的の埋め込みリンク、太字と下線付きの単語が含まれていました。残念ながら、4.2.1 にアップデートした後、送信された電子メールは、すべての HTML フォーマットが削除されたように見えます。おそらく誰かが見つけた回避策があることを願っていますか?

final Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("message/rfc822");
String[] toArr = new String[] { "someone@somewhere.com" };
intent.putExtra(Intent.EXTRA_EMAIL, toArr);
intent.putExtra(Intent.EXTRA_SUBJECT, "This is a subject");
intent.putExtra(Intent.EXTRA_TEXT, Html.fromHtml("Hello, here is some <b>bold text</b> some <u>underline text</u> and <a href=\"http://www.google.com\">a link</a>."));

興味深いこと (あるいはそうでないこともある) は、この電子メール メッセージの作成プレビューに、太字、下線、およびリンクされたすべてのテキストが、期待どおりに表示されることです。しかし、送信されると、受信者はそのすべてが取り除かれた電子メールを受け取ります。

そして、はい、これに関する別の質問がクローズされたことを認識しています。時期尚早に閉鎖されたのではないかと思いますが、ここに追加された詳細が別の見方を正当化することを望んでいます.

詳細: さらに調査した結果、この問題はインテントを介して HTML メールを送信するよりもはるかに大きな問題です。書式設定 (太字、下線、ハイパーリンクなど) を含む GMail Web アプリを使用して下書きメールを作成した場合、GMail Android アプリ (v4.2.1) でその下書きメールを開くと、すべての書式設定が適用されているように見えます。保管されています。ただし、GMail Android アプリを使用して下書きメールを送信すると、メールが送信される前に書式設定がすべて削除されます。

4

4 に答える 4

3

これはほぼ間違いなく、GMail 4.2.1 のバグです。

2013 年 3 月 19 日の時点で、GMail 4.3 がリリースされ、バグが修正されたようです。

于 2013-03-19T11:34:37.070 に答える
1

スコット、あなたもこれに出くわしてごめんなさい。12 月に Google にバグ レポートを提出しましたが、それは単なるブラック ホールのようです。

私の必要性は、ハイパーリンクを埋め込むことでした。私の最善の回避策は、text/plain または message/rfc822 メールを送信し、URL をプレーン テキストでメッセージに送信することです。奇妙なことに、Gmail はこれを認識し、< a > < /a > タグで囲みます。この方法を使用すると、リンクが送信され、受信者がクリックできるようになりますが、がらくたのように見えます。

また、Gmail がリンクのテキスト全体を認識して適切に囲むようにフォーマットされた URL を取得するのも少し難しい作業です。

于 2013-01-25T22:33:58.070 に答える
0

あなたの質問を読んだ後、私はこの問題について多くのことを調べましたが、ここで見つけました.Gmailの本文をフォーマットする方法と理由を実際に示しています. リンクもチェックアウトできます。

お役に立てば幸いです。

ありがとう。

于 2013-01-23T16:36:08.940 に答える
0
private void sendMail(String appName, String playStoreLink) {
    String msg = "<HTML><BODY>Hello,<br>Recently,I downloaded <b><font color=\"red\">"+appName+"</font></b>"+
" from Play Store.I found this very challenging and a great game."+
            "<br>I would like to suggest you this game.<br><br><a href="+playStoreLink+">Download</a><br><br>"+
"<br>Thank You</BODY></HTML>";
    String sub = "Get it now. It is there in Play Store";
    Intent email = new Intent(Intent.ACTION_SEND);
    email.setType("text/html");
    email.putExtra(Intent.EXTRA_SUBJECT, sub);
    email.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml(msg));
    email.setType("message/rfc822");
    startActivity(Intent.createChooser(email, "Choose an Email client :"));
}
于 2013-01-30T04:49:50.383 に答える