`
hbhgjiangkun
  • 浏览: 100681 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

同时得到邮件和附件

 
阅读更多
  1. //读其中一封邮件
  2. publicActionForwardreadmail(ActionMappingmapping,ActionFormform,
  3. HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException,ServletException
  4. {
  5. try
  6. {
  7. setContext();
  8. Listmail_title=newArrayList();
  9. Address[]address;
  10. Stringmailfrom="无";//来自
  11. Stringchaosong="无";//抄送
  12. //Stringsql="";
  13. intbh=Integer.parseInt(request.getParameter("bh"));//要查看的第几封邮件
  14. Stringdzbh=request.getSession().getAttribute("dzbh").toString();//用户编号,用于数据库查出该用户的邮箱名和密码
  15. setu_p_m(dzbh);//得到用户名和密码
  16. SimpleDateFormatsd=newSimpleDateFormat("yyyy-MM-ddHH:mm");//格式化时间
  17. Propertiesprops=newProperties();
  18. Sessionrecesession=Session.getInstance(props,null);
  19. recesession.setDebug(true);
  20. //创建一个Store对象,并根据得到的三个参数连接到邮件服务器中的用户邮箱
  21. Storestore=recesession.getStore("pop3");
  22. Stringhost="pop3."+mailserver+".com";//是邮箱
  23. store.connect(host,email,password);
  24. //打开收件箱
  25. Folderinbox=store.getFolder("INBOX");
  26. inbox.open(Folder.READ_ONLY);
  27. Listmail_nr=newArrayList();
  28. Messagemessage=inbox.getMessage(bh);
  29. mail_nr.add(message.getSubject());//标题
  30. address=message.getFrom();
  31. if(address!=null)
  32. mailfrom=address[0].toString();
  33. mail_nr.add(mailfrom);//来自
  34. address=message.getRecipients(Message.RecipientType.CC);
  35. if(address!=null)
  36. chaosong=address[0].toString();
  37. mail_nr.add(chaosong);//抄送
  38. mail_nr.add(sd.format(message.getSentDate()));//发送时间
  39. Stringfjbz="0";//0为没有附件
  40. Listmail_fj=newArrayList();//保存附件参数
  41. Listmail_wb=newArrayList();//保存邮件内容,内容分为普通文本和HTML格式。
  42. //是否有附件
  43. if(message.isMimeType("multipart/*"))
  44. {
  45. mail_nr.add("0");
  46. Multipartmultipart=(Multipart)message.getContent();
  47. for(intj=0;j<multipart.getCount();j++)
  48. {
  49. Listl_fj=newArrayList();
  50. //得到每个部分的属性
  51. Partp=multipart.getBodyPart(j);
  52. Stringdisposition=p.getDisposition();
  53. //如果该部分中是附件内容,标志为1
  54. if((disposition!=null)&&(disposition.equals(Part.ATTACHMENT)||disposition.equals(Part.INLINE)))
  55. {
  56. fjbz="1";
  57. Stringfilename=p.getFileName();
  58. filename=javax.mail.internet.MimeUtility.decodeText(filename);
  59. l_fj.add(filename);//附件名
  60. l_fj.add(bh);//第几封邮件
  61. l_fj.add(j);//第几个附件
  62. mail_fj.add(l_fj);
  63. }
  64. elseif(disposition==null)
  65. {
  66. //如果该部分是普通文本内容(无附件),则输出其文本内容
  67. if(p.isMimeType("text/plain")){
  68. System.out.println("+++++++text/plain+++++++++++++++++"+p.getContentType());
  69. mail_wb.add(p.getContent());
  70. }else{
  71. System.out.println("++++++++++++else++++++++++++++++++++++="+p.getContent());
  72. mail_wb.add(p.getContent());
  73. //如果该部分是特殊附件,就不做处理
  74. }
  75. }
  76. }
  77. }
  78. elseif(message.isMimeType("text/plain")){
  79. mail_nr.add("1");
  80. mail_wb.add(message.getContent());
  81. }
  82. mail_nr.add(mail_wb);
  83. mail_nr.add(fjbz);
  84. mail_nr.add(mail_fj);
  85. mail_title.add(mail_nr);
  86. request.setAttribute("mail_title",mail_title);
  87. //关闭收件箱和到邮件服务器的连接
  88. inbox.close(true);
  89. store.close();
  90. request.setAttribute("errmail","");
  91. }catch(MessagingExceptionm)
  92. {
  93. request.setAttribute("errmail","读取邮件错误,请查验邮箱名称和密码!");
  94. System.out.println(m.toString());
  95. }
  96. catch(Exceptione)
  97. {
  98. request.setAttribute("errmail","读取邮件错误,可能登录超时或其它错误,请与管理员联系!");
  99. e.printStackTrace();
  100. }
  101. returnmapping.findForward("readmail");
  102. }
分享到:
评论

相关推荐

    用Delphi2010 实现邮件附件收发功能

    用Delphi2010 实现邮件附件收发功能 TIdPOP3组件简介 TIdPOP3 是用来接收邮件服务器的邮件信息到用户端的一个组件。它实现了RFC 1939协议。 在使用TIdPOP3组件时需设置它的几个成员属性。 Host :指定邮件服务器,...

    使用Jmail组件发送和接收邮件(含附件)

    JMail是一个流行的Java组件,它允许开发者轻松地在Java应用程序中实现邮件的发送和接收功能,包括处理附件。本篇文章将详细探讨如何使用JMail组件来完成邮件的发送与接收,以及如何处理邮件中的附件。 首先,我们来...

    一个C#写的用pop3协议 获取邮件内容以及附件的例子。

    7. **处理邮件附件**:邮件的`Attachments`属性是一个`AttachmentCollection`,包含了邮件的所有附件。可以通过遍历这个集合,对每个附件调用`SaveAs()`方法将其保存到本地。 8. **断开连接**:处理完所有邮件后,...

    Windows下纯C语言Socket、smtp发送邮件,支持附件

    2、邮件内容和主题可以是空,但当有附件时,主题取第一个附件的文件名(不含扩展名) 3、密码验证均为base64加密 4、邮件正文和附件的数据传送方式,均为base64 5、自动解析发件箱的SMTP服务器 压缩包文件简介: ...

    PHPMailer----php发送邮件,可带附件和邮件体中插入图片

    不过,建议始终使用最新版本,以获得更好的安全性和功能支持。 通过以上步骤,你可以使用PHPMailer在PHP中发送带有附件和嵌入图片的邮件。不过,为了保持代码的健壮性和安全性,记得遵循最佳实践,如使用预处理语句...

    访问接口得到二进制附件并发送邮件

    接口可能返回一个包含附件二进制数据的响应,我们需要将其保存为临时文件或直接转换为邮件附件。在Python中,可以使用`requests`库获取接口数据,并用`io`模块处理二进制数据。例如: ```python import requests ...

    SAP MM审批采购订单时将采购订单作为PDF附件发送电子邮件

    为了提高效率并确保及时的信息传递,有时需要在审批过程中将采购订单(Purchase Order, PO)作为PDF附件通过电子邮件发送给相关人员。这篇文章主要介绍了如何实现这一功能,包括采购订单的PDF转换、创建电子邮件的HTML...

    Mac OS X代码方式发送邮件及附件

    在Mac OS X操作系统中,开发人员常常需要通过代码来实现发送邮件及添加附件的功能,这在应用程序中尤其常见,例如错误报告、用户反馈或者数据共享等场景。在本篇文章中,我们将深入探讨如何在Mac OS X环境下利用代码...

    163邮件附件批量下载及汇总.docx

    随着电子邮件成为日常工作中不可或缺的一部分,如何高效地管理和处理大量的邮件附件变得尤为重要。该项目旨在通过Python编程语言实现对163邮箱中的邮件附件进行批量下载,并进一步实现对这些附件中的电子表格数据...

    python实现下载pop3邮件保存到本地

    由于文件内容是通过OCR扫描获得的,可能存在个别字识别错误或漏识别的情况,需要通过上下文逻辑和相关知识来修正这些错误,保证文章内容的通顺和准确性。 以上就是关于Python实现下载pop3邮件保存到本地的相关知识...

    去除outlook2003邮件带exe附件的限制的工具

    总之,“去除outlook2003邮件带exe附件的限制的工具”是一个便捷的方法,可以帮助用户克服Outlook 2003的安全限制,但同时也提醒我们,在享受便利的同时,务必保持警惕,以防止潜在的安全风险。

    Bos开发指南_附件管理

    附件管理模块的主要功能是为基本资料和业务单据提供与各种形式资料的关联,包括传真、邮件、文档、图表、工程设计等信息。企业可以通过附件管理功能查询到业务处理的全过程,这有助于加强企业业务管理控制和提供经营...

    使用springMail发送带附件的email

    如果要发送带有附件的邮件,我们需要使用`MimeMessage`,这是一个更复杂的邮件对象,可以包含多种格式的内容和附件。 5. **添加附件**: `MimeMessageHelper`是SpringMail提供的一个工具类,可以帮助我们方便地向...

    Exchange Server 2010 SP1反垃圾邮件和防病毒邮件流

    在SP1版本中,这些功能得到了增强,旨在过滤掉有害的邮件,保护网络环境免受垃圾邮件和病毒的侵扰。 在邮件流入Exchange Server 2010 SP1时,一系列的筛选过程会依次执行。首先,邮件通过**连接筛选**,在此阶段,...

    C#邮件收发类项目MailHelper.zip

    添加邮件附件 添加一个附件,当指定的附件不存在时,忽略该附件,不产生异常。 清除所有附件 获取附件个数 邮件信息 增加一个收件人地址 增加多个收件人地址 邮件操作 错误消息反馈 将字符串编码为Base64字符串 将...

    二年级信息技术上册 第14课 网上来信——收发电子邮件及附件 1 第二课时教案 河大版.doc

    通过这一系列的教学活动,学生不仅学会了收发电子邮件及附件的基本操作,还提升了信息检索和处理能力,同时在团队合作和独立思考方面也得到了锻炼。在后续的学习中,应继续强化这些技能,引导学生将所学应用于更广泛...

    SAP ABAP启动OUTLOOK发邮件.docx

    在SAP系统中,有时需要实现自定义的邮件发送功能以满足特定的业务...通过以上步骤,我们可以实现SAP ABAP程序启动Outlook并发送带有用户签名的邮件,同时邮件会记录在用户的Outlook发件箱中,满足了业务部门的需求。

    使用 MAPI 实现邮件发送.docx

    3. 在设计邮件发送功能时,需要考虑到邮件的各种类型,例如带附件的邮件、带抄送人的邮件等。 使用 MAPI 可以轻松实现邮件发送功能,但需要注意一些实践中的注意点,以确保邮件发送功能的稳定性和可靠性。

    VB 发送电子邮件 源码VB 发送电子邮件 源码

    在VB(Visual Basic)编程环境中,发送电子邮件是一个常见的任务,特别是在开发桌面应用程序时,可能需要集成邮件发送...同时,考虑使用SMTP服务器发送邮件,而不是依赖Outlook,可以获得更灵活和稳定的邮件发送服务。

Global site tag (gtag.js) - Google Analytics