今天學習了一下JavaMail,javamail發送郵件确實是一個比較麻煩的問題不用第三方郵件程式。為了以後使用友善,自己寫了段代碼
Javamail-Android配置步驟:
- 下載下傳Android版本JavaMail包,additional.jar、mail.jar和activation.jar,下載下傳位址JavaMail-Android
- 在項目與src同一目錄級别下,建立檔案夾lib,将下載下傳的3個jar包放入該檔案夾
- 右鍵->Properties->Java Build Path->Libraries,選擇Add External JARs,找到項目下lib目錄的3個jar包
我的代碼有三個類:
第一個類:MailSenderInfo.java
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | |
第二個類:MultiMailsender.java
View Code
第三個類:MyAuthenticator.java
View Code
下面給出使用上面三個類的代碼:
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
最後,給出朋友們幾個注意的地方:
1、使用此代碼你可以完成你的javamail的郵件發送功能、發多個郵箱。三個類缺一不可。
2、這三個類我打包是用的com.util.mail包,如果不喜歡,你可以自己改,但三個類檔案必須在同一個包中
3、不要使用你剛剛注冊過的郵箱在程式中發郵件,如果你的163郵箱是剛注冊不久,那你就不要使用“smtp.163.com”。因為你發不出去。剛注冊的郵箱是不會給你這種權限的,也就是你不能通過驗證。要使用你經常用的郵箱,而且時間比較長的。
4、另一個問題就是mailInfo.setMailServerHost("smtp.163.com");與mailInfo.setFromAddress("[email protected]");這兩句話。即如果你使用163smtp伺服器,那麼發送郵件位址就必須用163的郵箱,如果不的話,是不會發送成功的。
5、關于javamail驗證錯誤的問題,網上的解釋有很多,但我看見的隻有一個。就是我的第三個類。你隻要複制全了代碼,我想是不會有問題的。
6、 然後在Android項目中添加網絡通路權限
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
原文位址: http://www.cnblogs.com/peakzheng/archive/2012/02/04/2338671.html