我如何从我的Android应用程序发送电子邮件?

我正在编写Android应用程序。 我怎样才能从它发送电子邮件?


最好的(也是最简单的)方法是使用Intent

Intent i = new Intent(Intent.ACTION_SEND);
i.setType("message/rfc822");
i.putExtra(Intent.EXTRA_EMAIL  , new String[]{"recipient@example.com"});
i.putExtra(Intent.EXTRA_SUBJECT, "subject of email");
i.putExtra(Intent.EXTRA_TEXT   , "body of email");
try {
    startActivity(Intent.createChooser(i, "Send mail..."));
} catch (android.content.ActivityNotFoundException ex) {
    Toast.makeText(MyActivity.this, "There are no email clients installed.", Toast.LENGTH_SHORT).show();
}

否则,你将不得不编写自己的客户端。


使用.setType("message/rfc822")或者选择器会显示所有支持发送意图的(许多)应用程序。


我很久以前就开始使用它,它看起来不错,没有非电子邮件应用程序出现。 另一种发送发送电子邮件意向的方式是:

Intent intent = new Intent(Intent.ACTION_SENDTO); // it's not ACTION_SEND
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_SUBJECT, "Subject of email");
intent.putExtra(Intent.EXTRA_TEXT, "Body of email");
intent.setData(Uri.parse("mailto:default@recipient.com")); // or just "mailto:" for blank
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // this will make such that when user returns to your app, your app is displayed, instead of the email app.
startActivity(intent);
链接地址: http://www.djcxy.com/p/29517.html

上一篇: How can I send emails from my Android application?

下一篇: android.os.NetworkOnMainThreadException