亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

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

用Javamail寫的解析MimeMessage的程序

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

  package coffeecatwebmail;
  
  import java.io.*;
  import java.text.*;
  import java.util.*;
  import javax.mail.*;
  import javax.mail.internet.*;
  
  public class PRaseMimeMessage{
    private MimeMessage mimeMessage = null;
    private String saveAttachPath = "";     //附件下載后的存放目錄
    private StringBuffer bodytext = new StringBuffer(); //存放郵件內容的StringBuffer對象
    private String dateformat = "yy-MM-dd HH:mm";    //默認的日前顯示格式
    
    /**
     * 構造函數,初始化一個MimeMessage對象
     */
    public PraseMimeMessage(){}
    public PraseMimeMessage(MimeMessage mimeMessage){
      this.mimeMessage = mimeMessage;
      System.out.println("create a PraseMimeMessage object........");
    }
  
    public void setMimeMessage(MimeMessage mimeMessage){
      this.mimeMessage = mimeMessage;
    }
    
    /**
     * 獲得發件人的地址和姓名
     */
    public String getFrom()throws Exception{
      InternetAddress address[] = (InternetAddress[])mimeMessage.getFrom();
      String from = address[0].getAddress();
      if(from == null) from="";
      String personal = address[0].getPersonal();
      if(personal == null) personal="";
      String fromaddr = personal+"<"+from+">";
      return fromaddr;
    }
  
    /**
     * 獲得郵件的收件人,抄送,和密送的地址和姓名,根據所傳遞的參數的不同
     * "to"----收件人 "cc"---抄送人地址 "bcc"---密送人地址
     */
    public String getMailAddress(String type)throws Exception{
      String mailaddr = "";
      String addtype = type.toUpperCase();
      InternetAddress []address = null;
      if(addtype.equals("TO") addtype.equals("CC") addtype.equals("BCC")){
        if(addtype.equals("TO")){
          address = (InternetAddress[])mimeMessage.getRecipients(Message.RecipientType.TO);
        }else if(addtype.equals("CC")){
          address = (InternetAddress[])mimeMessage.getRecipients(Message.RecipientType.CC);
        }else{
          address = (InternetAddress[])mimeMessage.getRecipients(Message.RecipientType.BCC);
        }
        if(address != null){
          for(int i=0;i<address.length;i++){
            String email=address[i].getAddress();
            if(email==null) email="";
            else{
              email=MimeUtility.decodeText(email);
            }
            String personal=address[i].getPersonal();
            if(personal==null) personal="";
            else{
              personal=MimeUtility.decodeText(personal);
            }
            String compositeto=personal+"<"+email+">";
            mailaddr+=","+compositeto;
          }
          mailaddr=mailaddr.substring(1);
        }
      }else{
        throw new Exception("Error emailaddr type!");
      }
      return mailaddr;
    }
    
    /**
     * 獲得郵件主題
     */
    public String getSubject()throws MessagingException{
      String subject = "";
      try{
        subject = MimeUtility.decodeText(mimeMessage.getSubject());
        if(subject == null) subject="";
      }catch(Exception exce){
      }
      return subject;
    }
    
    /**
     * 獲得郵件發送日期
     */
    public String getSentDate()throws Exception{
      Date sentdate = mimeMessage.getSentDate();
      SimpleDateFormat format = new SimpleDateFormat(dateformat);
      return format.format(sentdate);
    }
    
    /**
     * 獲得郵件正文內容
     */
    public String getBodyText(){
      return bodytext.toString();
    }
    
    /**
     * 解析郵件,把得到的郵件內容保存到一個StringBuffer對象中,解析郵件
     * 主要是根據MimeType類型的不同執行不同的操作,一步一步的解析
     */
    public void getMailContent(Part part)throws Exception{
      String contenttype = part.getContentType();
      int nameindex = contenttype.indexOf("name");
      boolean conname =false;
      if(nameindex != -1) conname=true;
  
      System.out.println("CONTENTTYPE: "+contenttype);
      if(part.isMimeType("text/plain") && !conname){
        bodytext.append((String)part.getContent());
      }else if(part.isMimeType("text/Html") && !conname){
        bodytext.append((String)part.getContent());
      }else if(part.isMimeType("multipart/*")){
        Multipart multipart = (Multipart)part.getContent();
        int counts = multipart.getCount();
        for(int i=0;i<counts;i++){
          getMailContent(multipart.getBodyPart(i));
        }
      }else if(part.isMimeType("message/rfc822")){
        getMailContent((Part)part.getContent());
      }else{}
    }
  
    /**
     * 判定此郵件是否需要回執,假如需要回執返回"true",否則返回"false"
     */
    public boolean getReplySign()throws MessagingException{
      boolean replysign = false;
      String needreply[] = mimeMessage.getHeader("Disposition-Notification-To");
      if(needreply != null){
        replysign = true;
      }
      return replysign;
    }
    
    /**
     * 獲得此郵件的Message-ID
     */
    public String getMessageId()throws MessagingException{
      return mimeMessage.getMessageID();
    }
    
    /**
     * 【判定此郵件是否已讀,假如未讀返回返回false,反之返回true】
     */
    public boolean isNew()throws MessagingException{
      boolean isnew = false;
      Flags flags = ((Message)mimeMessage).getFlags();
      Flags.Flag []flag = flags.getSystemFlags();
      System.out.println("flags's length: "+flag.length);
      for(int i=0;i<flag.length;i++){
        if(flag[i] == Flags.Flag.SEEN){
          isnew=true;
          System.out.println("seen Message.......");
          break;
        }
      }
      return isnew;
    }
    
    /**
     * 判定此郵件是否包含附件
     */
    public boolean isContainAttach(Part part)throws Exception{
      boolean attachflag = false;
      String contentType = part.getContentType();
      if(part.isMimeType("multipart/*")){
        Multipart mp = (Multipart)part.getContent();
        for(int i=0;i<mp.getCount();i++){
          BodyPart mpart = mp.getBodyPart(i);
          String disposition = mpart.getDisposition();
          if((disposition != null) &&((disposition.equals(Part.ATTACHMENT)) (disposition.equals(Part.INLINE))))
            attachflag = true;
          else if(mpart.isMimeType("multipart/*")){
            attachflag = isContainAttach((Part)mpart);
          }else{
            String contype = mpart.getContentType();
            if(conty

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美成人久久久| 久久久久国产精品一区| 欧美性69xxxx肥| 亚洲一区二区久久久| 国产精品69久久| 成人性生交xxxxx网站| 日韩欧美在线视频日韩欧美在线视频| 清纯唯美亚洲综合| 亚洲的天堂在线中文字幕| www国产精品com| 国产精品狼人色视频一区| 疯狂欧美牲乱大交777| 色综合视频网站| 色综合久久悠悠| 久久精品人人做人人爽| 亚洲精选中文字幕| 国产精品成人一区二区三区吃奶| 91精品国产综合久久香蕉| 欧美日韩国产精品一区二区三区四区| 国产精品美女在线观看| 国产精品日韩久久久久| 色婷婷av一区二区三区在线观看| 亚洲国产成人91精品| 亚洲三级 欧美三级| 国产精品久久久久免费a∨| 国产aⅴ夜夜欢一区二区三区| 国产精品三级网站| …久久精品99久久香蕉国产| 欧美视频国产精品| 欧美大成色www永久网站婷| 久久免费福利视频| 精品久久久久久久久久久久久久| 亚洲欧美三级伦理| 97精品一区二区视频在线观看| 欧美激情一区二区三区久久久| 日韩女优在线播放| 91精品久久久久久久| 亚洲国产精品成人va在线观看| 欧美激情久久久久久| 国产精品国产三级国产专播精品人| 日韩电影免费在线观看中文字幕| 国产欧美精品在线播放| www国产精品com| 亚洲天堂网在线观看| 精品亚洲永久免费精品| 亚洲全黄一级网站| 欧美另类老女人| 日韩精品久久久久| 国产精品极品美女粉嫩高清在线| 97久久超碰福利国产精品…| 黄网站色欧美视频| 中文字幕亚洲自拍| 日韩中文字在线| 国产日产欧美精品| 97精品一区二区视频在线观看| 3344国产精品免费看| 日韩综合中文字幕| 欧美激情精品久久久久久久变态| 精品国产欧美一区二区三区成人| 欧美激情中文字幕在线| 日韩av综合中文字幕| 日韩av中文字幕在线免费观看| 日韩免费视频在线观看| 欧美精品激情视频| 97精品国产97久久久久久春色| 最新亚洲国产精品| 欧美一级片久久久久久久| 精品免费在线观看| 日韩中文字幕在线视频| 亚洲女成人图区| 久久艹在线视频| 亚洲国产精品一区二区三区| 国产精品白嫩初高中害羞小美女| 日韩av在线播放资源| 国产精品一香蕉国产线看观看| 亚洲国产中文字幕在线观看| 一区二区三区四区视频| 黄色成人av在线| 美女视频久久黄| 亚洲一区二区中文字幕| 国产精国产精品| 中文字幕综合在线| 国产手机视频精品| 免费不卡欧美自拍视频| 国产精品久久一区主播| 91久久久亚洲精品| 久久天天躁日日躁| 日韩精品免费看| 成人亚洲欧美一区二区三区| 日韩中文字幕视频| 伊人成人开心激情综合网| 91丨九色丨国产在线| 福利微拍一区二区| 欧美一级片久久久久久久| 亚洲一区二区久久| 色播久久人人爽人人爽人人片视av| 日韩精品视频在线| xxxx性欧美| 欧美日韩国产在线播放| 97人人模人人爽人人喊中文字| 欧美中文在线免费| 91久久精品视频| 欧美日韩在线第一页| 亚洲第五色综合网| 亚洲人在线观看| 日韩美女写真福利在线观看| 亚洲乱码国产乱码精品精| 日韩av一卡二卡| 亚洲乱码国产乱码精品精天堂| 欧美激情在线观看| 国模精品一区二区三区色天香| 68精品久久久久久欧美| 日韩中文字幕精品视频| 91精品国产综合久久香蕉的用户体验| 91亚洲一区精品| 欧美视频在线免费| 亚洲天堂av在线免费观看| 亚洲成人av片| 久久久久国产精品www| 国产一区二区三区丝袜| 91系列在线观看| 日韩在线观看高清| 精品国产一区二区三区久久久| 69av在线视频| 日韩中文字幕第一页| 久久久最新网址| 欧美黄色片在线观看| 久久精品视频播放| 日韩成人高清在线| 亚洲成人精品久久| 精品久久久久久久久久久久久久| 欧美日韩在线免费观看| 亚洲香蕉成人av网站在线观看| 欧洲亚洲女同hd| 综合av色偷偷网| 日韩在线视频免费观看高清中文| 亚洲人成在线电影| 国产成人激情小视频| 精品欧美激情精品一区| 日韩精品在线视频观看| 日韩亚洲欧美成人| 久久久亚洲欧洲日产国码aⅴ| 日韩在线播放一区| 久久久亚洲欧洲日产国码aⅴ| 日韩风俗一区 二区| 亚洲韩国日本中文字幕| 欧美裸体xxxx极品少妇软件| 国产aⅴ夜夜欢一区二区三区| 亚洲伦理中文字幕| 国产在线999| 成人精品福利视频| 97色在线播放视频| 国产精品三级在线| 国产精品永久免费| 国产精品福利在线观看网址| 欧美丰满片xxx777| 国产成人免费91av在线| 亚洲在线免费观看| 亚洲精品欧美日韩专区| 69av成年福利视频| 91av在线影院| 国内精品久久久久久久久| 日韩一区二区三区国产| 欧美日韩视频免费播放|