麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

怎樣用java發送郵件

2019-11-18 13:26:50
字體:
來源:轉載
供稿:網友

  前幾天由于需要,動手寫了一個郵件發送的java application.現在總結一些心得。
  
  首先我去java.sun.com下載了一個javamailapi1.2,現在最新版本1.3了。其實這個api是一些類庫集合。解壓后,找到mail.jar加入你的classpath中即可,還有其他一些jar,一般用戶都用不著。接著,要去下載一個JavaBeans(tm)Activation Framework Standard Extension
  簡稱JAF的冬冬,將activation.jar加入classpath。主要是用到里面的類javax.activation.*。JAF是sun的一個standard extension。100% Pure Java (大家都愛這末說,~_~).可以看看他的Specification(我也沒看完)。
  
  盡管java中有郵件發送接受類,但用Javamailapi更方便。我差點誤入歧途。我主要講講帶附件的郵件發送。假如專心看,在Javamailapi中的demo中有一個sendfile.java的Example。假如您看過那個了,以下的就不用看了,因為這個比它的簡單,沒有輸入任何參數。
  
  import java.io.*;
  import java.util.*;
  import javax.mail.*;
  import javax.mail.internet.*;
  import javax.activation.*;
  
  //Warning: 以下內容是必須往里面套的,都是封裝好的東西,過多的理由我也說出上,高手補充。
  
  public class SendAttachment
  {
   public static void main(String[] args)
   {
   try
   {
  
  // 創建 PRoperties ,里面包含了發送郵件服務器的地址。
  
   Properties mailProps = new Properties();
   mailProps.put("mail.smtp.host", "192.0.0.1"); //"mail.smtp.host"隨便叫啥都行,"192.0.0.1"必須是真實可用的。
  
  // 創建 session
  
   Session mailSession = Session.getDefaultInstance(mailProps);
  
  
  // 創建 郵件的message,message對象包含了郵件眾多有的部件,都是封裝成了set方法去設置的
  
   MimeMessage message = new MimeMessage(mailSession);
  
  // 設置發信人
   message.setFrom(new InternetAddress(
   "[email protected]"));
  //收信人
   message.setRecipient(Message.RecipientType.TO,
   new InternetAddress("[email protected]"));
  
  // 郵件標題
   message.setSubject("I love you"); //haha,恐嚇人
  
  // 創建 Mimemultipart,這是包含多個附件是必須創建的。假如只有一個內容,沒有附件,可以直接用message.setText(String str)
  //去寫信的內容,比較方便。附件等于是要創建多個內容,往下看更清楚。
  
   MimeMultipart multi = new MimeMultipart();
  
  // 創建 BodyPart,主要作用是將以后創建的n個內容加入MimeMultipart.也就是可以發n個附件。我這里有2個BodyPart.
  
   BodyPart textBodyPart = new MimeBodyPart(); //第一個BodyPart.主要寫一些一般的信件內容。
  
   textBodyPart.setText("詳情見附件");
  
  // 壓入第一個BodyPart到MimeMultipart對象中。
   multi.addBodyPart(textBodyPart);
  
  // 創建第二個BodyPart,是一個FileDAtaSource
  
   FileDataSource fds = new FileDataSource("c:/myattachment.txt"); //必須存在的文檔,否則throw異常。
  
   BodyPart fileBodyPart = new MimeBodyPart(); //第二個BodyPart
   fileBodyPart.setDataHandler(new DataHandler(fds)); //字符流形式裝入文件
   fileBodyPart.setFileName("report.xls"); //設置文件名,可以不是原來的文件名。
  
  /*
  * 以下是我用另一種方式寫入附件,但不成功,附件總是0K字節。請高手點解,以上的方式我是參照demo的。
  *
  * FileInputStream in = new FileInputSteam("c:/myattachment.txt");
  * BodyPart fileBodyPart = new MimeBodyPart(in);
  * fileBodyPart.setFileName("report.xls"); //奶奶的折騰我2天,搞不定。
  **
  */
  
  //不講了,同第一個BodyPart.
   multi.addBodyPart(fileBodyPart);
  
  // MimeMultPart作為Content加入message
  
   message.setContent(multi);
  
  // 所有以上的工作必須保存。
  
   message.saveChanges();
  
  // 發送,利用Transport類,它是SMTP的郵件發送協議,
  
   Transport.send(message);
   }
   catch (Exception exc)
   {
   exc.printStackTrace();
   }
   }
  }
  
  
  //終于寫完了,累死哥哥我了。
  
  //以上謹代表個人觀點,不妥之處務請指出,以免誤人子弟。希望多多指教。[email protected]

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 中文字幕免费在线观看视频 | chinese xvideos gay| 久综合色 | 国产精品视频在 | 精品一区二区三区中文字幕 | 久久国产成人精品国产成人亚洲 | 日韩视频www | 成人福利视频导航 | 成人三级电影在线 | 国产精品视频成人 | 九九热精 | 毛片免费在线视频 | gogo全球大胆高清人露出91 | 成人免费av在线播放 | 成人区精品一区二区婷婷 | 欧美成人影院 | 性明星video另类hd | 国产日韩免费观看 | 国产一区在线免费 | 99视频观看| 色999中文字幕 | 91香蕉国产亚洲一区二区三区 | 国产精品久久久久久久av | 羞羞答答www网站进入 | 激情小说激情电影 | 色综合久久久久久久久久久 | 久久久精品视频网站 | 亚洲精品自在在线观看 | 精品一区二区久久久久久久网精 | 91精品动漫在线观看 | 蜜桃91丨九色丨蝌蚪91桃色 | 5a级毛片| 91国内精品久久久久免费影院 | 国产精选久久 | 成人男女免费视频 | 一级国产精品一级国产精品片 | 国产精品久久久毛片 | 宅男噜噜噜66国产免费观看 | 成人免费一区二区 | 久久艹精品 | 精国产品一区二区三区 |