最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

android實(shí)現(xiàn)自動(dòng)發(fā)送郵件

 更新時(shí)間:2018年07月18日 14:17:06   作者:zuyuanzhang  
這篇文章主要為大家詳細(xì)介紹了android實(shí)現(xiàn)自動(dòng)發(fā)送郵件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了實(shí)現(xiàn)了一個(gè)android自動(dòng)發(fā)送郵件的demo。支持163,qq郵箱

需要添加activation.jar,additionnal.jar和mail.jar這三個(gè)包

首先是一個(gè)EmailSender類

import java.io.File;
 
import java.util.Date;
import java.util.Properties;
 
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Address;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
 
public class EmailSender {
 private Properties properties;
 private Session session;
 private Message message;
 private MimeMultipart multipart;
 
 public EmailSender() {
 super();
 this.properties = new Properties();
 }
 public void setProperties(String host,String post){
 //地址
 this.properties.put("mail.smtp.host",host);
 //端口號(hào)
 this.properties.put("mail.smtp.post",post);
 //是否驗(yàn)證
 this.properties.put("mail.smtp.auth",true);
 this.session=Session.getInstance(properties);
 this.message = new MimeMessage(session);
 this.multipart = new MimeMultipart("mixed");
 }
 /**
 * 設(shè)置收件人
 * @param receiver
 * @throws MessagingException
 */
 public void setReceiver(String[] receiver) throws MessagingException{
 Address[] address = new InternetAddress[receiver.length];
 for(int i=0;i<receiver.length;i++){
  address[i] = new InternetAddress(receiver[i]);
 }
 this.message.setRecipients(Message.RecipientType.TO, address);
 }
 /**
 * 設(shè)置郵件
 * @param from 來源
 * @param title 標(biāo)題
 * @param content 內(nèi)容
 * @throws AddressException
 * @throws MessagingException
 */
 public void setMessage(String from,String title,String content) throws AddressException, MessagingException{
 this.message.setFrom(new InternetAddress(from));
 this.message.setSubject(title);
 //純文本的話用setText()就行,不過有附件就顯示不出來內(nèi)容了
 MimeBodyPart textBody = new MimeBodyPart();
 textBody.setContent(content,"text/html;charset=gbk");
 this.multipart.addBodyPart(textBody);
 }
 /**
 * 添加附件
 * @param filePath 文件路徑
 * @throws MessagingException
 */
 public void addAttachment(String filePath) throws MessagingException{
 FileDataSource fileDataSource = new FileDataSource(new File(filePath));
 DataHandler dataHandler = new DataHandler(fileDataSource);
 MimeBodyPart mimeBodyPart = new MimeBodyPart();
 mimeBodyPart.setDataHandler(dataHandler);
 mimeBodyPart.setFileName(fileDataSource.getName());
 this.multipart.addBodyPart(mimeBodyPart);
 }
 /**
 * 發(fā)送郵件
 * @param host 地址
 * @param account 賬戶名
 * @param pwd 密碼
 * @throws MessagingException
 */
 public void sendEmail(String host,String account,String pwd) throws MessagingException{
 //發(fā)送時(shí)間
 this.message.setSentDate(new Date());
 //發(fā)送的內(nèi)容,文本和附件
 this.message.setContent(this.multipart);
 this.message.saveChanges();
 //創(chuàng)建郵件發(fā)送對(duì)象,并指定其使用SMTP協(xié)議發(fā)送郵件 
 Transport transport=session.getTransport("smtp"); 
 //登錄郵箱 
 transport.connect(host,account,pwd); 
 //發(fā)送郵件
 transport.sendMessage(message, message.getAllRecipients());
 //關(guān)閉連接
 transport.close();
 }
}

下面是mainactivity代碼

import javax.mail.MessagingException;
import javax.mail.internet.AddressException;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
 
public class MainActivity extends Activity {
 
 private Button btnOK; 
  @Override
  protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    btnOK = (Button) findViewById(R.id.button);
    btnOK.setOnClickListener(new OnClickListener() {
      @Override
      public void onClick(View arg0) {
//        sendEmail();
       //耗時(shí)操作要起線程...有幾個(gè)新手都是這個(gè)問題
        new Thread(new Runnable() {
 
       @Override
       public void run() {
        try {
        EmailSender sender = new EmailSender();
        //設(shè)置服務(wù)器地址和端口,網(wǎng)上搜的到
        sender.setProperties("smtp.163.com", "25");
        //分別設(shè)置發(fā)件人,郵件標(biāo)題和文本內(nèi)容
        sender.setMessage("你的163郵箱賬號(hào)", "EmailSender", "Java Mail !");
        //設(shè)置收件人
        sender.setReceiver(new String[]{"收件人郵箱"});
        //添加附件
        //這個(gè)附件的路徑是我手機(jī)里的啊,要發(fā)你得換成你手機(jī)里正確的路徑
//        sender.addAttachment("/sdcard/DCIM/Camera/asd.jpg");
        //發(fā)送郵件
        sender.sendEmail("smtp.163.com", "你的163郵箱賬號(hào)", "你的郵箱密碼");//<span style="font-family: Arial, Helvetica, sans-serif;">sender.setMessage("你的163郵箱賬號(hào)", "EmailS//ender", "Java Mail !");這里面兩個(gè)郵箱賬號(hào)要一致</span>
 
        } catch (AddressException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        } catch (MessagingException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        }
       }
       }).start();
      }
    });
 
  }
 
}

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Android開發(fā)中關(guān)于獲取當(dāng)前Activity的一些思考

    Android開發(fā)中關(guān)于獲取當(dāng)前Activity的一些思考

    這篇文章主要為大家詳細(xì)介紹了Android開發(fā)過程中,關(guān)于獲取當(dāng)前Activity的一些思考,感興趣的小伙伴們可以參考一下
    2016-02-02
  • Android 監(jiān)聽網(wǎng)絡(luò)狀態(tài)方法詳解

    Android 監(jiān)聽網(wǎng)絡(luò)狀態(tài)方法詳解

    這篇文章主要介紹了Android 監(jiān)聽網(wǎng)絡(luò)狀態(tài)方法詳解的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • Android APP瘦身(清除工程中沒用到的資源)詳解

    Android APP瘦身(清除工程中沒用到的資源)詳解

    這篇文章主要介紹了Android 清除工程中沒用到的資源詳解的相關(guān)資料,這里舉例說明如何實(shí)現(xiàn),需要的朋友可以參考下
    2016-11-11
  • android采用FFmpeg實(shí)現(xiàn)音視頻合成與分離

    android采用FFmpeg實(shí)現(xiàn)音視頻合成與分離

    這篇文章主要為大家詳細(xì)介紹了android采用FFmpeg實(shí)現(xiàn)音視頻合成與分離,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • Android視頻壓縮的示例代碼

    Android視頻壓縮的示例代碼

    本篇文章主要介紹了Android視頻壓縮的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-09-09
  • Flutter構(gòu)建自定義Widgets的全過程記錄

    Flutter構(gòu)建自定義Widgets的全過程記錄

    在Flutter實(shí)際開發(fā)中,大家可能會(huì)遇到flutter框架中提供的widget達(dá)不到我們想要的效果,這時(shí)就需要我們?nèi)プ远xwidget,下面這篇文章主要給大家介紹了關(guān)于Flutter構(gòu)建自定義Widgets的相關(guān)資料,需要的朋友可以參考下
    2022-01-01
  • Android調(diào)用google地圖生成路線圖實(shí)現(xiàn)代碼

    Android調(diào)用google地圖生成路線圖實(shí)現(xiàn)代碼

    Android程序調(diào)用本機(jī)google地圖并且傳遞起始和終點(diǎn)位置生成路線圖,有需要的朋有可以參考下,或許本文對(duì)你有所幫助,好了話不多說,看代碼
    2013-02-02
  • Android中深入學(xué)習(xí)對(duì)象的四種引用類型

    Android中深入學(xué)習(xí)對(duì)象的四種引用類型

    這篇文章主要介紹Android中深入學(xué)習(xí)對(duì)象的四種引用類型,Java中,一切被視為對(duì)象,引用則是用來操縱對(duì)象的;在JDK1.2就把對(duì)象引用分為四種級(jí)別,從而使程序能更靈活控制它的生命周期,級(jí)別由高到底依次為強(qiáng)引用、軟引用、弱引用、虛引用,需要的朋友可以參考一下
    2021-10-10
  • 新版Android Studio3.6找不到R.java怎么處理

    新版Android Studio3.6找不到R.java怎么處理

    這篇文章主要介紹了新版Android Studio3.6找不到R.java怎么處理,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • Android開發(fā)從相冊中選取照片的示例代碼

    Android開發(fā)從相冊中選取照片的示例代碼

    這篇文章主要介紹了Android開發(fā)從相冊中選取照片的示例代碼,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2017-09-09

最新評(píng)論

奉节县| 武平县| 许昌县| 信丰县| 垣曲县| 田林县| 嘉黎县| 寻甸| 金坛市| 松滋市| 辛集市| 张家界市| 大石桥市| 乌海市| 定兴县| 四子王旗| 聊城市| 红安县| 大宁县| 澄江县| 宁海县| 辽源市| 桐梓县| 名山县| 柞水县| 天峨县| 景洪市| 汽车| 罗田县| 板桥市| 汾阳市| 和硕县| 沧源| 哈密市| 双桥区| 余干县| 景宁| 河源市| 南涧| 增城市| 凌源市|