91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

android實現自動發送郵件的方法

發布時間:2021-04-17 09:42:26 來源:億速云 閱讀:275 作者:小新 欄目:移動開發

這篇文章主要介紹了android實現自動發送郵件的方法,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

需要添加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");
 }
 /**
 * 設置收件人
 * @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);
 }
 /**
 * 設置郵件
 * @param from 來源
 * @param title 標題
 * @param content 內容
 * @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()就行,不過有附件就顯示不出來內容了
 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);
 }
 /**
 * 發送郵件
 * @param host 地址
 * @param account 賬戶名
 * @param pwd 密碼
 * @throws MessagingException
 */
 public void sendEmail(String host,String account,String pwd) throws MessagingException{
 //發送時間
 this.message.setSentDate(new Date());
 //發送的內容,文本和附件
 this.message.setContent(this.multipart);
 this.message.saveChanges();
 //創建郵件發送對象,并指定其使用SMTP協議發送郵件 
 Transport transport=session.getTransport("smtp"); 
 //登錄郵箱 
 transport.connect(host,account,pwd); 
 //發送郵件
 transport.sendMessage(message, message.getAllRecipients());
 //關閉連接
 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();
        //設置服務器地址和端口,網上搜的到
        sender.setProperties("smtp.163.com", "25");
        //分別設置發件人,郵件標題和文本內容
        sender.setMessage("你的163郵箱賬號", "EmailSender", "Java Mail !");
        //設置收件人
        sender.setReceiver(new String[]{"收件人郵箱"});
        //添加附件
        //這個附件的路徑是我手機里的啊,要發你得換成你手機里正確的路徑
//        sender.addAttachment("/sdcard/DCIM/Camera/asd.jpg");
        //發送郵件
        sender.sendEmail("smtp.163.com", "你的163郵箱賬號", "你的郵箱密碼");//<span >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();
      }
    });
 
  }
 
}

感謝你能夠認真閱讀完這篇文章,希望小編分享的“android實現自動發送郵件的方法”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

泾川县| 兴隆县| 磐安县| 专栏| 合阳县| 辽中县| 桦南县| 富锦市| 屏边| 东至县| 浪卡子县| 贵定县| 正定县| 库尔勒市| 微山县| 昭苏县| 安义县| 祁阳县| 琼海市| 定结县| 榆中县| 宜黄县| 绥棱县| 定州市| 哈尔滨市| 商都县| 崇信县| 洪江市| 吉林市| 洪洞县| 盐山县| 佛坪县| 菏泽市| 湘乡市| 岳西县| 阳谷县| 蒙城县| 扶风县| 鄂州市| 白银市| 黄石市|