- 1、本文档共34页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java_Mail编程
程序8-12:SendAttachmentMail.java(片段) // 正文部分 BodyPart messageBodyPart = new MimeBodyPart(); // Fill the message String contentMessage=request.getParameter(body); messageBodyPart.setText(contentMessage); Multipart multipart = new MimeMultipart(); multipart.addBodyPart(messageBodyPart); // Part two is attachment String filename=request.getParameter(thefile); messageBodyPart = new MimeBodyPart(); DataSource source = new FileDataSource(filename); messageBodyPart.setDataHandler(new DataHandler(source)); messageBodyPart.setFileName(filename); multipart.addBodyPart(messageBodyPart); // Put parts in message mimeMsg.setContent(multipart); // Send the message Transport.send(mimeMsg); 接收附件 从邮件中获取附件比发送它们要困难,因为 MIME 没有简单的关于附件的概念。当消息包含附件时,消息的内容是个 Multipart 对象。接着,开发者需要处理每个 Part,获取主要内容和附件。标有从 part.getDisposition() 获得的 Part.ATTACHMENT 配置(disposition)的部件(Part)无疑就是附件。但是,没有配置(及一个非文本 MIME 类型)和带 Part.INLINE 配置的部件也可能是附件。当配置要么是 Part.ATTACHMENT,要么是 Part.INLINE 时,这个消息部件的内容就能被保存。只要用 getFileName() 和 getInputStream() 就能分别得到原始文件名和输入流。 程序8-13: ReceiveMimeMail.java(片段) Multipart mp = (Multipart)message[nid].getContent(); String szFile=; File ffile; //String szpath=; for (int i=0,n=mp.getCount(); in; i++) { Part part = mp.getBodyPart(i); String szMbp=part.getContentType(); System.out.println(IDX: + i+ :类型 + szMbp); String disposition = part.getDisposition(); if((disposition != null) ((disposition.equals(Part.ATTACHMENT)||(disposition.equals(Part.INLINE))))){ //创建一个文件,并从输入流中读取字节,,存入到文件中 szFile=MimeUtility.decodeText(part.getFileName()); String fullpath=filepath + szFile; ffile = new File(fullpath); FileOutputStream outfile = new FileOutputStream(ffile); BufferedInputStream br = new BufferedInputStream(part.getInputStream()); BufferedOutputStream bw = new BufferedOutputStream(outfile); int b;
文档评论(0)