Android发送邮件
???????????????????Google 在發表 Android 手機平臺時,強調的是超強大的網絡支持能力,因此,無論通過 GPRS、3G的電信網絡或者是Wifi的無線WLAN網絡,都能夠發EMAIL。
發送郵件中使用的Intent 行為為 android.content.Intent.ACTION_SEND 。實際上在 Android 上使用的郵件發送服務是調用Gmail程序,而非直接使用SMTP的Protocol 。現在介紹本篇需要使用到的功能清單:
?驗證用戶輸入是否為正確的郵箱格式; ?用戶可以先把手動輸入郵箱,也可以長按郵箱文本框跳到聯系人那里找到聯系人,得到聯系人的郵箱,后返回;
?發送郵件。
?郵件發送程序并不復雜,主要是在 EditText 、Button 控件的構建,通過構造一個自定義的 Intent(android.content.Intent.ACTION_SEND)作為傳送 Email 的 Activity 之用,在該Intent中,還必須使用 setType()來決定 Email的格式,使用 putExtra() 來置入寄件入(EXTRA_EMAIL)、主題(EXTRA_SUBJECT)、郵件內容(EXTRA_TEXT)以及其他Email的字段(EXTRA_BCC、EXTRA_CC)。
代碼如下:
在Android中發送Email有許多種寫法,本篇例子只是其中之一。下面把其他的方法共享給大家:
? 方法二
1 Uri uri=Uri.parse("mailto:terryyhl@gmail.com"); 2 Intent MymailIntent=new Intent(Intent.ACTION_SEND,uri); 3 startActivity(MymailIntent); View Code?方法三
1 Intent testintent=new Intent(Intent.ACTION_SEND); 2 String[] tos={"terryyhl@gmail.com"}; 3 String[] ccs={"kalaicheng@hotmail.com"}; 4 testintent.putExtra(Intent.EXTRA_EMAIL, tos); 5 testintent.putExtra(Intent.EXTRA_CC, ccs); 6 testintent.putExtra(Intent.EXTRA_TEXT, "這是內容"); 7 testintent.putExtra(Intent.EXTRA_SUBJECT, "這是標題"); 8 testintent.setType("message/rfc822"); 9 startActivity(Intent.createChooser(testintent, "發送")); View Code?方法四,傳附件,這里以SD卡的音樂文件為例
1 Intent testN=new Intent(Intent.ACTION_SEND); 2 testN.putExtra(Intent.EXTRA_SUBJECT, "標題"); 3 testN.putExtra(Intent.EXTRA_STREAM, "file:///sdcard/music.mp3"); 4 startActivity(Intent.createChooser(testN, "發送")); View Code?使用javamail。這里我就不介紹javamail的實現方法了。
?由于目前模擬器未內置Gmail Client端程序,因此發送Email程序在送出數據后,模擬器上會發出 “No Application can perform this action”,本人沒有Android手機,故無法測試,還請有Android手機的園友能夠在測試后,將結果反饋給我,謝謝。
?
?
轉自:http://www.2cto.com/kf/201109/103814.html
轉載于:https://www.cnblogs.com/android-for-dh/p/3342950.html
總結
以上是生活随笔為你收集整理的Android发送邮件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: libtool: link: `dfta
- 下一篇: 联机日志损坏的解决办法