📄 receivemail.java
字号:
} if (j==0) //取出邮件正文 { Vcontent= Vcontent+part.getContent().toString()+","; } ContentType ct=new ContentType(contentType); if(ct.match("text/plain")||ct.match("text/html")) { if (part.getDisposition()!=null) { if(part.getFileName()!=null)//中文是附件 { String desc=pub.Exchange(part.getFileName().toString()); java.io.File attachfile=new java.io.File(path+desc); FileOutputStream fileoutputstream =new FileOutputStream(attachfile); BufferedOutputStream bufferedoutputstream =new BufferedOutputStream(fileoutputstream); BufferedInputStream bufferedinputstream =new BufferedInputStream(part.getInputStream()); int size=0; int n; while ((n=bufferedinputstream.read())!=-1) { bufferedoutputstream.write(n); size++; } bufferedoutputstream.flush(); bufferedoutputstream.close(); bufferedinputstream.close(); }//end if(part.getFileName()!=null } }//if ct match else if (part.getFileName()!=null)//英文并且有附件 { String desc=pub.Exchange(part.getFileName().toString()); java.io.File attachfile=new java.io.File(path+desc); FileOutputStream fileoutputstream =new FileOutputStream(attachfile); BufferedOutputStream bufferedoutputstream =new BufferedOutputStream(fileoutputstream); BufferedInputStream bufferedinputstream =new BufferedInputStream(part.getInputStream()); int n; int size=0; while ((n=bufferedinputstream.read())!=-1) { bufferedoutputstream.write(n); size++; } bufferedoutputstream.flush(); bufferedoutputstream.close(); bufferedinputstream.close(); }//英文并且有附件 //******************* } } } } } catch(Exception e) { System.out.println("getContent Error:"+e); } return Vcontent;}*/ //得到发邮件的时间的Vector public Vector getDate() { Vector v_date=new Vector(); try { for(int i=0;i < message.length;i++) { if (!message[i].isSet(Flags.Flag.DELETED)) { java.util.Date Vsendtime=message[i].getSentDate(); //发送时间 //下面三行代码为转换时间的格式 int Vyear=1900+Vsendtime.getYear(); int Vmonth=Vsendtime.getMonth()+1; String sendtime=""+Vyear+"-"+Vmonth+"-"+Vsendtime.getDate()+" "+Vsendtime.getHours()+":"+Vsendtime.getMinutes()+":"+Vsendtime.getSeconds(); v_date.addElement(sendtime); } } } catch(Exception e) //出现异常的处理 { System.out.println("getDate Error:"+e); v_date.clear(); } return v_date; //返回Vector } //删除所有邮件,本实例没有用到这个方法/* public void DeleteMail() { int i=0; try { for(i=0;i < message.length;i++) { if (!message[i].isSet(Flags.Flag.DELETED)) { message[i].setFlag(Flags.Flag.DELETED, true); } } } catch(Exception e) { System.out.println("DeleteMail Error:"+e); } try { folder.close(folder.isOpen()); store.close(); } catch(MessagingException e) { System.out.println("DeleteMail Error:"+e); } }*/ //删除指定的邮件,支持删除一批邮件 public boolean DeleteMail(String id) { boolean rtnbl = true; //该函数的返回值 //调用方法拆分字符串,得到邮件的id Vector id_vec = getVectorFromStr(id,","); if(id_vec.size()==0) { return false; } int i=0; try { for(i=0;i < id_vec.size();i++) { if (!message[Integer.parseInt((String)id_vec.elementAt(i))].isSet(Flags.Flag.DELETED)) { //给邮件置上删除标记 message[Integer.parseInt((String)id_vec.elementAt(i))].setFlag(Flags.Flag.DELETED, true); } } } catch(Exception e) //出现异常的操作 { rtnbl = false; System.out.println("DeleteMail Error:"+e); } try { folder.close(folder.isOpen()); //关闭当前活动的收件箱的文件夹 store.close(); //关闭store对象 } catch(MessagingException e) //出现异常的处理 { rtnbl=false; System.out.println("DeleteMail Error:"+e); } return rtnbl; } //解决中文问题 //本函数的功能可以单独做到一个常用的工具类中,因为很多地方都要用到该功能 public String getChineseStr(String str) { String rtnStr = ""; try { //转换成支持中文的码 rtnStr = new String(str.getBytes("ISO-8859-1")); } catch(Exception e) //出现异常的处理 { rtnStr = str; System.out.println("Unsupported Encoding Exception:"+e); } return rtnStr; } //把字符串按照特定的字符拆分成Vector,例如字符串"a,b,c"将被拆成大小为3的Vector //本函数的功能可以单独做到一个常用的工具类中,因为很多地方都要用到该功能 public Vector getVectorFromStr(String str,String symbol) { Vector rtnVec = new Vector(); //按照指定的标记实例化StringTokenizer对象 StringTokenizer parser = new StringTokenizer(str,symbol); try { while (parser.hasMoreElements())//循环拆分 { rtnVec.addElement(parser.nextElement().toString()); } } catch(Exception e) //出现异常的操作 { rtnVec.clear(); System.out.println("found error in getVectorFromStr():"+e); } return rtnVec; //返回Vector }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -