Android开发中可能会碰到如何发送邮件的困扰,之前我也查了相关的文档,博友们也分享了不少的发送邮件的办法,总共有3种把,我仔细阅读了下,发现有的讲的太过复杂跟麻烦,不够清晰,我今天就来分享下我认为的最好用的办法来解决该问题,使用Andorid-MAIL Jar包。首先我们先要下载以下四个文件
然后呢在Android平台上发送邮件呢,肯定先要检查网络的状态,网络状态可用的情况下才能发送邮件成功啊(别往了获取网络信息需要在AndroidManifest.xml文件中加入相应的权限。 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />)
public boolean isNetworkConnected(Context context) { if (context != null) { ConnectivityManager mConnectivityManager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo(); if (mNetworkInfo != null) { return mNetworkInfo.isAvailable(); } } return false; }下面一步就更简单了直接看代码注释把,就能解决我们发送邮件的需求了!
//与网络连接相关的操作都要在子线程中完成,当然也可以在Service服务里操作 class sendMessage extends Thread { @Override public void run() { // TODO Auto-generated method stub super.run(); try { //创建HtmlEmail类 HtmlEmail email = new HtmlEmail(); //填写邮件的主机明,我这里使用的是163 email.setHostName("smtp.163.com"); email.setTLS(true); email.setSSL(true); //设置字符编码格式,防止中文乱码 email.setCharset("gbk"); //设置收件人的邮箱 email.addTo("123@qq.com"); //设置发件人的邮箱 email.setFrom("123@163.com"); //填写发件人的用户名和密码 email.setAuthentication("123", "123"); //填写邮件主题 email.setSubject("您好"); //填写邮件内容 email.setMsg(s1 + "\n" + s2); //发送邮件 email.send(); } catch (EmailException e) { // TODO Auto-generated catch block Log.i("TAG", "---------------->"+e.getMessage()); } } }
Android开发之发送邮件功能的实现(源代码分享),布布扣,bubuko.com
原文:http://blog.csdn.net/gerogelin/article/details/38400145