0

我正在尝试使用 Intent 发送 html 邮件。在作曲家中,它以 html 格式显示,但在收件人端,它显示为普通文本。我必须发送带有超链接的图像和文本。作曲家的屏幕截图是这样的

在此处输入图像描述

以下是我迄今为止尝试过的,

public class Sendingamail extends Activity {
    /** Called when the activity is first created. */
    Button send;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    send=(Button) findViewById(R.id.emailsendbutton);
    send.setOnClickListener(new OnClickListener() {

                    @Override
                    public void onClick(View v) {
                            // TODO Auto-generated method stub

                                  final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
                                  emailIntent.setType("text/html");
                             String html = "<!DOCTYPE html><html><body><a href=\"http://www.google.com\">Visit W3Schools.com!</a>" + "<p>If you set the target attribute to \"_blank\", the link will open in a new browser window/tab.</p></body></html>";
                                  emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Hhhhhhhh");

emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml(html));

 Sendingamail.this.startActivity(emailIntent);

                                  });
}
}
4

3 回答 3

1

这对我有用:

  final Intent shareIntent = new Intent(Intent.ACTION_SENDTO, Uri.parse("mailto:"));
    shareIntent.putExtra(Intent.EXTRA_SUBJECT, "The Subject");
    shareIntent.putExtra(
    Intent.EXTRA_TEXT,
    Html.fromHtml(new StringBuilder()
        .append("<p><b>Some Content</b></p>")
        .append("<small><p>More content</p></small>")
        .toString())
    );
于 2012-11-27T12:45:04.573 回答
0

几天前我遇到了同样的问题。您在代码中无能为力,因为只有当您使用的邮件客户端能够处理默认电子邮件和 gmail 客户端无法处理的所有 html 和 css 内容时,才会显示 html 内容。因此,您可以使用 java mail api 发送 html 邮件,否则您将不得不寻找支持完整 html 的邮件客户端。请看这里

于 2012-11-27T13:06:12.707 回答
0
String text = "<body><b>" +heading +
                "<br>..............................</b><br><br>" +
                "<b><font color='green'>Posted Date :</font></b><br>"+ postedDate + "<br><br>"
                + "<b><font color='green'>Posted By :</font></b><br>" + postedBy+ "<br><br>"
                + "<b><font color='green'>Description :</font></b><br>"+ desc + "<br><br>" 
                + "<b><font color='green'>Post type :</font></b><br>"
                + postType + "</body>";


                    sendIntent.putExtra(Intent.EXTRA_SUBJECT, subject);
                    sendIntent.putExtra(Intent.EXTRA_TEXT, Html.fromHtml(text));
                    startActivity(sendIntent);
于 2012-11-27T12:58:15.577 回答