重构一个项目,发现发送邮件的功能是自己实现的,使用java的一个类库在app内部集成了发送邮件的功能。
这样实现问题比较多,该类库并非针对android设计,用在android上,性能低下,并且不稳定。
在一个app内部实现一个发送邮件的功能感觉是跟鸡肋的,要自己处理邮件通信协议,还要处理富文本编辑、发送附件等问题。
其实调用第三方或者系统自带邮件功能发送邮件是比较好的解决办法,也比较容易实现,更加稳定,更环保
代码几行就搞定了,附件上传富文本编辑这些让专业的邮件客户端去处理吧!
Intent email = new Intent(android.content.Intent.ACTION_SEND); /*不带附件发送邮件*/ email.setType("plain/text"); /*设置邮件默认地址,多个收件人,String数组*/ email.putExtra(android.content.Intent.EXTRA_EMAIL, (String[])mMailReceivers.toArray(new String[mMailReceivers.size()])); /*多个抄送人,String数组*/ email.putExtra(android.content.Intent.EXTRA_CC, (String[])mMailCopyTos.toArray(new String[mMailCopyTos.size()])); /*邮件标题*/ email.putExtra(android.content.Intent.EXTRA_SUBJECT, et_subject.getText().toString()); /*邮件正文*/ email.putExtra(android.content.Intent.EXTRA_TEXT, et_content.getText().toString()); //调用系统的邮件系统 startActivity(Intent.createChooser(email, "请选择邮件发送软件"));