利用JavaMail怎么實(shí)現(xiàn)一個(gè)郵件發(fā)送功能

這篇文章將為大家詳細(xì)講解有關(guān)利用JavaMail怎么實(shí)現(xiàn)一個(gè)郵件發(fā)送功能,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

成都創(chuàng)新互聯(lián)專(zhuān)注于圖木舒克企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站,商城網(wǎng)站開(kāi)發(fā)。圖木舒克網(wǎng)站建設(shè)公司,為圖木舒克等地區(qū)提供建站服務(wù)。全流程按需搭建網(wǎng)站,專(zhuān)業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專(zhuān)業(yè)和態(tài)度為您提供的服務(wù)

用java發(fā)郵件,必須要導(dǎo)入新的包

       mail.jar – 發(fā)郵件的核心包

       activation.jar – 對(duì)用戶(hù)和密碼加密.

在mail.jar中有三個(gè)核心類(lèi):

       Javax.mail.Session – 是指與郵件服務(wù)器會(huì)話(huà)。整個(gè)項(xiàng)目中只要一個(gè)就可以了.

       Javax.mail.Message(接口)  - 準(zhǔn)備發(fā)送數(shù)據(jù)信息。

                      MimeMessage - 可以設(shè)置類(lèi)型的數(shù)據(jù)信息。

       Transport – 它擁有一個(gè)方法可以發(fā)送Message。

@Test
 public void sendMail() throws Exception{
  //1,聲明properties對(duì)象放信息
  Properties props = new Properties();
  //設(shè)置連接哪一臺(tái)服務(wù)器
  props.setProperty("mail.host", "smtp.163.com");
  //設(shè)置是否認(rèn)證:
  props.setProperty("mail.smtp.auth", "true");
  
  //2,聲明用戶(hù)名和密碼
  Authenticator auth = new Authenticator(){
   //返回用戶(hù)名和密碼對(duì)象
   @Override
   protected PasswordAuthentication getPasswordAuthentication() {
    PasswordAuthentication pa = new PasswordAuthentication("xxxxx@163.com", "123456");
    return pa;
   }
  };
  //3,獲取session對(duì)象
  Session session = Session.getDefaultInstance(props, auth);
  //設(shè)置session為調(diào)試模式
  session.setDebug(true);
  //4,聲明信息
  MimeMessage mm1 = new MimeMessage(session);
  //5,設(shè)置發(fā)件人信息
  Address form = new InternetAddress("xxxxx@163.com"); 
  mm1.setFrom(form);
  //6,設(shè)置收件人 ,RecipientType:發(fā)送,抄送,密送 類(lèi)型
  mm1.setRecipient(RecipientType.TO, new InternetAddress("xxx@qq.com"));
  //mm1.setRecipient(RecipientType.CC, new InternetAddress(""));//抄送
 
  //7,設(shè)置主題
  mm1.setSubject("拉面學(xué)習(xí)通知");
  String cont = "請(qǐng)點(diǎn)擊 <a href='http://www.fsy158.com/news/31_207'>官網(wǎng)新聞</a>查看祝您發(fā)財(cái)";
  mm1.setContent(cont, "text/html;charset=UTF-8");
  
  //8,發(fā)送
  Transport.send(mm1);
 
 }

其中的mimeType可是text/plain純文本。

發(fā)送附件:

@Test
 public void sendMailWithFile() throws Exception{
 Properties ps = new Properties();
 ps.setProperty("mail.host", "smtp.163.com");
 ps.setProperty("mail.smtp.auth", "true");
 
 Authenticator auth = new Authenticator(){
  @Override
  protected PasswordAuthentication getPasswordAuthentication() {
  return new PasswordAuthentication("xxx@163.com","xxx.");
  } 
 };
 Session session = Session.getDefaultInstance(ps, auth);
 session.setDebug(true);
 MimeMessage msg = new MimeMessage(session);
 Address address = new InternetAddress("xxx@163.com");
 msg.setFrom(address);
 //發(fā)送給
 msg.setRecipient(RecipientType.TO, new InternetAddress("xxx@qq.com"));
 msg.setRecipient(RecipientType.BCC, new InternetAddress("xxx@qq.com"));//密送
 msg.setRecipient(RecipientType.CC, new InternetAddress("xxx@qq.com"));//抄送
 msg.setSubject("$激情小視頻*免費(fèi)觀(guān)看");
 
 //聲明多部件處理
 MimeMultipart mm = new MimeMultipart();
 
 MimeBodyPart body1 = new MimeBodyPart();
 //設(shè)置附件
 DataSource ds1 = new FileDataSource(new File("./img/a.jpg"));
 DataHandler dh2 = new DataHandler(ds1);
 body1.setDataHandler(dh2);
 //必須設(shè)置名稱(chēng)
 body1.setFileName(MimeUtility.encodeText("美女.jpg"));
 
 MimeBodyPart body2 = new MimeBodyPart();
 DataSource ds2 = new FileDataSource(new File("./img/b.jpg"));
 DataHandler dh3 = new DataHandler(ds2);
 body2.setDataHandler(dh3);
 body2.setFileName(MimeUtility.encodeText("美女2.jpg"));
 
 MimeBodyPart body3 = new MimeBodyPart();
 DataSource ds3 = new FileDataSource(new File("./img/m.mp3"));
 DataHandler dh4 = new DataHandler(ds3);
 body3.setDataHandler(dh4);
 body3.setFileName(MimeUtility.encodeText("小電影.mp3"));

 //添加body到mm
 mm.addBodyPart(body1);
 mm.addBodyPart(body2);
 mm.addBodyPart(body3);
 
 msg.setContent(mm);

 //設(shè)置發(fā)送日期
 Calendar c = Calendar.getInstance();
 c.add(Calendar.DATE, -5);
 msg.setSentDate(c.getTime());

 //發(fā)送
 Transport.send(msg);
 }

關(guān)于利用JavaMail怎么實(shí)現(xiàn)一個(gè)郵件發(fā)送功能就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

本文題目:利用JavaMail怎么實(shí)現(xiàn)一個(gè)郵件發(fā)送功能
新聞來(lái)源:http://muchs.cn/article14/jpiede.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、網(wǎng)站營(yíng)銷(xiāo)、微信小程序、小程序開(kāi)發(fā)網(wǎng)站維護(hù)、軟件開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作