Android开发之发送邮件功能的实现(源码分享)

      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");
				//填写发件人的username和password
				email.setAuthentication("123", "123");
				//填写邮件主题
				email.setSubject("您好");
				//填写邮件内容
				email.setMsg(s1 + "
" + s2);
				//发送邮件
				email.send();
				
			} catch (EmailException e) {
				// TODO Auto-generated catch block
				Log.i("TAG", "---------------->"+e.getMessage());
			}
		}
	}

    好的以上就完毕了android发送邮件的功能,大家也能够去研究下其它两种发送邮件的方式。

在这里分享下刚才所说的要用到的Jar包的分享地址。

    android发送邮件所须要的mail的jar包 

原文地址:https://www.cnblogs.com/yfceshi/p/6734848.html