android邮件发送几种方式
?android中發送郵件我大概發現了3種,代碼如下
Java代碼??
package?src.icetest;??
??
import?org.apache.commons.mail.EmailException;??
import?org.apache.commons.mail.HtmlEmail;??
??
import?android.app.Activity;??
import?android.content.Intent;??
import?android.os.Bundle;??
import?android.util.Log;??
??
public?class?IcetestActivity?extends?Activity?{??
????/**?Called?when?the?activity?is?first?created.?*/??
????@Override??
????public?void?onCreate(Bundle?savedInstanceState)?{??
????????super.onCreate(savedInstanceState);??
????????setContentView(R.layout.main);??
????????Log.i("IcetestActivity",?"start?ice?test?step?1");??
????????//?sendMailIntent();??
????????//sendMailByApache();??
????????sendMailByJavaMail();??
????}??
??
????//?you?need?config?the?mail?app?in?your?android?moble?first,and?the?mail?will?send?by?the?mail?app.?and?there?are?one?big?bug:??
????//you?can't?send?the?mail?Silently?and?you?need?to?click?the?send?button??
????public?int?sendMailByIntent()?{??
????????String[]?reciver?=?new?String[]?{?"181712000@qq.com"?};??
????????String[]?mySbuject?=?new?String[]?{?"test"?};??
????????String?myCc?=?"cc";??
????????String?mybody?=?"測試Email?Intent";??
????????Intent?myIntent?=?new?Intent(android.content.Intent.ACTION_SEND);??
????????myIntent.setType("plain/text");??
????????myIntent.putExtra(android.content.Intent.EXTRA_EMAIL,?reciver);??
????????myIntent.putExtra(android.content.Intent.EXTRA_CC,?myCc);??
????????myIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,?mySbuject);??
????????myIntent.putExtra(android.content.Intent.EXTRA_TEXT,?mybody);??
????????startActivity(Intent.createChooser(myIntent,?"mail?test"));??
??
????????return?1;??
??
????}??
???/*this?method?can't?be?used?in?android?mobile?successful,but?it?can?run?normally?in?PC.?
????Because?it?will?cause?the?java.lang.NoClassDefFoundError:?javax.activation.DataHandler?error?
????May?be?there?are?some?way?to?solove?it?......there?are?always?javax?package?not?found?in?android?virtual?mobile.?
????By?the?way?,the?method?use?Apache?mail?jar???????
????*/??
????public?int?sendMailByApache()?{??
??
????????try?{??
????????????HtmlEmail?email?=?new?HtmlEmail();??
????????????//?這里是發送服務器的名字??
????????????email.setHostName("smtp.gmail.com");??
????????????//?編碼集的設置??
????????????email.setTLS(true);??
????????????email.setSSL(true);??
??
????????????email.setCharset("gbk");??
????????????//?收件人的郵箱??
????????????email.addTo("181712000@qq.com");??
????????????//?發送人的郵箱??
????????????email.setFrom("wcf0000@gmail.com");??
????????????//?如果需要認證信息的話,設置認證:用戶名-密碼。分別為發件人在郵件服務器上的注冊名稱和密碼??
????????????email.setAuthentication("wcf1000",?"00000");??
????????????email.setSubject("測試Email?Apache");??
????????????//?要發送的信息??
????????????email.setMsg("測試Email?Apache");??
????????????//?發送??
????????????email.send();??
????????}?catch?(EmailException?e)?{??
????????????//?TODO?Auto-generated?catch?block??
????????????Log.i("IcetestActivity",?e.getMessage());??
????????}??
??
????????return?1;??
????}??
/*?
?*?this?method?use?javamail?for?android?,it?is?a?good?jar,?
?*?you?can?see?the?demo?in?http://www.jondev.net/articles/Sending_Emails_without_User_Intervention_(no_Intents)_in_Android?
?*?and?you?also?need?three?jars?,which?I?offered?in?attachement?
?*??
?*?*/??
????public?int?sendMailByJavaMail()?{??
????????Mail?m?=?new?Mail("wcfXXXX@gmail.com",?"XXXXX");??
????????m.set_debuggable(true);??
????????String[]?toArr?=?{"18170000@qq.com"};???
????????m.set_to(toArr);??
????????m.set_from("18170000@qq.com");??
????????m.set_subject("This?is?an?email?sent?using?icetest?from?an?Android?device");??
????????m.setBody("Email?body.?test?by?Java?Mail");??
????????try?{??
????????????//m.addAttachment("/sdcard/filelocation");???
????????????if(m.send())?{???
????????????Log.i("IcetestActivity","Email?was?sent?successfully.");??
??????????????????????????
????????????}?else?{??
????????????????Log.i("IcetestActivity","Email?was?sent?failed.");??
????????????}??
????????}?catch?(Exception?e)?{??
????????????//?Toast.makeText(MailApp.this,??
????????????//?"There?was?a?problem?sending?the?email.",??
????????????//?Toast.LENGTH_LONG).show();??
????????????Log.e("MailApp",?"Could?not?send?email",?e);??
????????}??
??
????????return?1;??
????}??
} ?
轉載于:https://blog.51cto.com/1137907860/1680397
總結
以上是生活随笔為你收集整理的android邮件发送几种方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为学IOS,进击中...之C语言指针练习
- 下一篇: Ionic系列——环境配置和项目搭建