Android開發之發送郵件功能的實現(源代碼分享)


Android開發中可能會碰到如何發送郵件的困擾,之前我也查了相關的文檔,博友們也分享了不少的發送郵件的辦法,總共有3種把,我仔細閱讀了下,發現有的講的太過復雜跟麻煩,不夠清晰,我今天就來分享下我認為的最好用的辦法來解決該問題,使用Andorid-MAIL Jar包。首先我們先要下載以下四個文件

\

然后呢在Android平台上發送郵件呢,肯定先要檢查網絡的狀態,網絡狀態可用的情況下才能發送郵件成功啊(別往了獲取網絡信息需要在AndroidManifest.xml文件中加入相應的權限。 )

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發送郵件的功能,大家也可以去研究下其他兩種發送郵件的方式。在這里分享下剛才所說的要用到的Jar包的分享地址。

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


免責聲明!

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



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