组技术接收邮件_第1页
组技术接收邮件_第2页
组技术接收邮件_第3页
组技术接收邮件_第4页
组技术接收邮件_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

packageimportjava.io.*;importjava.text.*;importjava.util.*;importjavax.mail.*;importpublicclassprivateMimeMessageprivateStringsaveAttachPath="";//附件后的存privateStringBufferbodytext=new//存放邮件内容的StringBuffer对*构造函数,初始化一个MimeMessage对publicpublicPraseMimeMessage(MimeMessagemimeMessage){this.mimeMessage=mimeMessage;System.out.println("createaPraseMimeMessageobject }publicvoidsetMimeMessage(MimeMessagemimeMessage){}*获得发件人的地址publicStringgetFrom()throwsInternetAddressaddress[]=(InternetAddress[])mimeMessage.getFrom();Stringfrom=address[0].getAddress();if(from==null)Stringal=address[0].getal();if(al==null)al="";Stringfromaddr=al+"<"+from+">";returnfromaddr;}"to"----"cc"---"bcc"---密送人地publicStringgetMailAddress(Stringtype)throwsException{Stringmailaddr="";Stringaddtype=type.toUpperCase();InternetAddress[]address=null;if(addtype.equals("TO")||addtype.equals("CC")||addtype.equals("BCC")){address=}elseaddress=address=}if(address!=for(inti=0;i<address.length;i++){String=address[i].getAddress();if(==null)="";}Stringal=address[i].getal();if(al==null)al="";}Stringcompositeto=al+"<"++">";}}thrownewException("Erroraddr}return}publicStringgetSubject()throwsMessagingException{Stringsubject="";if(subject==null)subject="";}catch(Exception}return}publicStringgetDate()throwsException{Datesentdate=mimeMessage.getDate();SimpleDateFormatformat=newSimpleDateFormat(dateformat);returnformat.format(sentdate);}publicStringgetBodyText(){returnbodytext.toString();}解析邮件,把得到的邮件内容保存到一个StringBuffer对象中,解析邮主要是根据MimeType类型的不同执行不同的操作,一步一步的解publicvoidgetMailContent(Partpart)throwsStringcontenttype=part.getContentType();intnameindex=contenttype.indexOf("name");booleanconname=false;if(nameindex!=-1)conname=true;System.out.println("CONTENTTYPE:"+contenttype);if(part.isMimeType("text/in")&&!conname){}elseif(part.isMimeType("text/html")&&!conname){}elseMultipartmultipart=(Multipart)part.getContent();intcounts=multipart.getCount();for(inti=0;i<counts;i++){}}elseif(part.isMimeType("message/rfc822")){}publicbooleangetReplySign()throwsMessagingException{booleanreplysign=false;Stringneedreply[]=mimeMessage.getHeader("Disposition-Notification-To");if(needreply!=null){replysign=}return}获得此邮件的Message-publicStringgetMessageId()throwsMessagingException{returnmimeMessage.getMessageID();}【判断此邮件是否已读,如果未读返回返回false,反之返回true}}publicbooleanisNew()throwsMessagingException{booleanisnew=false;Flagsflags=((Message)mimeMessage).getFlags();Flags.Flag[]flag=flags.getSystemFlags();System.out.println("flags'slength:"+flag.length);for(inti=0;i<flag.length;i++){if(flag[i]==Flags.Flag.SEEN){ }}return}publicbooleanisContainAttach(Partpart)throwsException{booleanattachflag=false;StringcontentType=part.getContentType();Multipartmp=(Multipart)part.getContent();for(inti=0;i<mp.getCount();i++){BodyPartmpart=mp.getBodyPart(i);Stringdisposition=mpart.getDisposition();if((disposition!=null)&&((disposition.equals(Part.ATTAENT))||(disposition.equals(Part.INLINE))))attachflag=true;elseif(mpart.isMimeType("multipart/*")){attachflag=isContainAttach((Part)mpart);Stringcontype=mpart.getContentType();if(contype.toLowerCase().indexOf("application")!=-1)attachflag=true;if(contype.toLowerCase().indexOf("name")!=-1)attachflag=true;}}}elseif(part.isMimeType("message/rfc822")){attachflag=isContainAttach((Part)part.getContent());}returnpublicvoidsaveAttaent(Partpart)throwsException{StringfileName="";Multipartmp=(Multipart)part.getContent();for(inti=0;i<mp.getCount();i++){BodyPartmpart=mp.getBodyPart(i);Stringdisposition=mpart.getDisposition();if((disposition!=null)&&((disposition.equals(Part.ATTAENT))||(disposition.equals(Part.INLINE)))){fileName=mpart.getFileName();if(fileName.toLowerCase().indexOf("gb2312")!=-1){fileName=MimeUtility.decodeText(fileName);}}elseif(mpart.isMimeType("multipart/*")){fileName=if((fileName!=null)&&(fileName.toLowerCase().indexOf("GB2312")!=-1)){}}}}elseif(part.isMimeType("message/rfc822")){}}publicvoidsetAttachPath(Stringattachpath){this.saveAttachPath=attachpath;publicvoidsetDateFormat(Stringformat)throwsException{this.dateformat=format;}publicStringgetAttachPath(){returnsaveAttachPath;} 里privatevoidsaveFile(StringfileName,InputStreamin)throwsException{StringosName=System.getProperty("");Stringstoredir=getAttachPath();Stringseparator="";if(osName==null)osName="";if(osName.toLowerCase().indexOf("win")!=-1){if(storedir==null||storedir.equals(""))separator="/";storedir=}Filestorefile=newFile(storedir+separator+fileName);System.out.println("storefile'spath:"+storefile.toString());//for(int//storefile=newBufferedOutputStreambos=null;BufferedInputStreambis=null;bos=newBufferedOutputStream(newFileOutputStream(storefile));bis=newBufferedInputStream(in);intwhile((c=bis.read())!=-1){}}catch(Exceptionexception){thrownewException("文件保存失败}}publicstaticvoidmain(Stringargs[])throwsStringhost=//【StringusernameStringpassword // Propertiesprops=newSessionsession=Session.getDefaultInstance(props,null);Storestore=session.getStore("pop3");store.connect(host,username,password);Folderfolder=store.getFolder("INBOX");Messagemessage[]=folder.getMessages();System.out.println("Messages'slength:"+message.length);PraseMimeMessagepmm=null;for(intpmm=newPraseMimeMessage((MimeMessage)message[i]);System.out.println("Message"+i+"subject:"+pmm.getSubject());System.out.println("Message"+i+"sentdate:"+pmm.getDate());System.out.println("Message"+i+"replysign:"+pmm.getReplySign());System.out.println("Message"+i+"h

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论