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 + "\n" + s2);
				//發送郵件
				email.send();
				
			} catch (EmailException e) {
				// TODO Auto-generated catch block
				Log.i("TAG", "---------------->"+e.getMessage());
			}
		}
	}

    好的以上就完畢了android發送郵件的功能,大家也能夠去研究下其它兩種發送郵件的方式。

在這里分享下剛才所說的要用到的Jar包的分享地址。

    android發送郵件所須要的mail的jar包 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM