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

android實現(xiàn)自動發(fā)送郵件

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

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

需要添加activation.jar,additionnal.jar和mail.jar這三個包

首先是一個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);
 //端口號
 this.properties.put("mail.smtp.post",post);
 //是否驗證
 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ā)送時間
 this.message.setSentDate(new Date());
 //發(fā)送的內(nèi)容,文本和附件
 this.message.setContent(this.multipart);
 this.message.saveChanges();
 //創(chuàng)建郵件發(fā)送對象,并指定其使用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();
       //耗時操作要起線程...有幾個新手都是這個問題
        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郵箱賬號", "EmailSender", "Java Mail !");
        //設(shè)置收件人
        sender.setReceiver(new String[]{"收件人郵箱"});
        //添加附件
        //這個附件的路徑是我手機(jī)里的啊,要發(fā)你得換成你手機(jī)里正確的路徑
//        sender.addAttachment("/sdcard/DCIM/Camera/asd.jpg");
        //發(fā)送郵件
        sender.sendEmail("smtp.163.com", "你的163郵箱賬號", "你的郵箱密碼");//<span style="font-family: Arial, Helvetica, sans-serif;">sender.setMessage("你的163郵箱賬號", "EmailS//ender", "Java Mail !");這里面兩個郵箱賬號要一致</span>
 
        } catch (AddressException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        } catch (MessagingException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        }
       }
       }).start();
      }
    });
 
  }
 
}

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

相關(guān)文章

最新評論

梅州市| 姚安县| 绥滨县| 定西市| 兴和县| 大田县| 青铜峡市| 宁波市| 遂宁市| 辽宁省| 从江县| 锡林浩特市| 泸州市| 深州市| 昂仁县| 天门市| 东平县| 灵石县| 明水县| 永靖县| 东城区| 遂平县| 中西区| 苏州市| 涟源市| 南皮县| 宁波市| 乌海市| 乾安县| 忻城县| 青海省| 开江县| 古蔺县| 南昌市| 苍梧县| 水富县| 吉安县| 隆化县| 红原县| 伊金霍洛旗| 苏州市|