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包的分享地址。
