Android 调用系统的邮箱app发送邮件

第一种:

String[] email = { "3802**92@qq.com" }; // 需要注意,email必须以数组形式传入
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("message/rfc822"); // 设置邮件格式
intent.putExtra(Intent.EXTRA_EMAIL, email); // 接收人
intent.putExtra(Intent.EXTRA_CC, email); // 抄送人
intent.putExtra(Intent.EXTRA_SUBJECT, "这是邮件的主题部分"); // 主题
intent.putExtra(Intent.EXTRA_TEXT, "这是邮件的正文部分"); // 正文
startActivity(Intent.createChooser(intent, "请选择邮件类应用"));

这种方式 ,打开选择对话框后,会出现多个选择,其中还有一些不是邮箱的选项,所以这种方式不太妥靠。


第二种:

// 必须明确使用mailto前缀来修饰邮件地址,如果使用
// intent.putExtra(Intent.EXTRA_EMAIL, email),结果将匹配不到任何应用
Uri uri = Uri.parse("mailto:3802**92@qq.com");
String[] email = { "7544**92@qq.com" };
Intent intent = new Intent(Intent.ACTION_SENDTO, uri);
intent.putExtra(Intent.EXTRA_CC, email); // 抄送人
intent.putExtra(Intent.EXTRA_SUBJECT, "这是邮件的主题部分"); // 主题
intent.putExtra(Intent.EXTRA_TEXT, "这是邮件的正文部分"); // 正文
startActivity(Intent.createChooser(intent, "请选择邮件类应用"));

第二种方式很好,能直接过滤掉非邮箱app的选项。

上一篇:Django+Xadmin打造在线教育系统(二)


下一篇:django2使用xadmin打造适合国人的后台管理系统(1)