java 读邮件_javamail读取完整的邮件

1 import  java.io.IOException;

2 import  java.io.InputStream;

3 import  java.io.UnsupportedEncodingException;

4 import  java.util.HashMap;

5 import  javax.mail.Folder;

6 import  javax.mail.Message;

7 import  javax.mail.MessagingException;

8 import  javax.mail.Multipart;

9 import  javax.mail.Part;

10 import  javax.mail.Store;

11 import  javax.mail.internet.InternetAddress;

12 import  javax.mail.internet.MimeUtility;

13 import  javax.servlet.ServletException;

14 import  javax.servlet.ServletOutputStream;

15 import  javax.servlet.http.HttpServletRequest;

16 import  javax.servlet.http.HttpServletResponse;

17 import  javax.servlet.http.HttpSession;

18 import  chunwei.mail.Login;

19 import  chunwei.mail.MailUserData;

20 /**21 * Servlet implementation class for Servlet: MailServlet22 * Author: luchunwei  Email: luchunwei@gmail.com23 */

24 public  class MailNode extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {

25 private  static final long serialVersionUID = 1L;

26 protected  void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

27 nodeid="";

28 node="0";

29 currentnodeid=0;

30 url=request.getRequestURL().toString();

31 HttpSession ses=request.getSession();

32 MailUserData mud=(MailUserData)ses.getAttribute("mud");

33 ServletOutputStream out=response.getOutputStream();

34 response.setContentType("text/html;charset=GB2312");

35 int  msgid=-1,partid=-1;//msgdi:邮件编号;partid:MultiPart Message中part的编号。36 String  partname=null; //图片或附件的文件名37 String  nodepara=null;//节点编号,如1-2-1-0, 他以便层层剥入38 if (request.getParameter("msgid")!=null)

39 msgid=Integer.parseInt(request.getParameter("msgid"));

40 msgidStr="msgid="+msgid;

41 if (request.getParameter("partid")!=null)

42 partid=Integer.parseInt(request.getParameter("partid"));

43 if (request.getParameter("partname")!=null)

44 partname=new String(request.getParameter("partname").getBytes("ISO-8859-1"),"GB2312");

45 if (request.getParameter("node")!=null)

46 nodepara=request.getParameter("node");

47 System.out.println(nodepara);

48 //System.out.println(msgid+":"+partid+":"+partname);49 if (partname!=null){

50 //displayImages51 try  {

52 displayPart(partname,response,out);

53 }  catch (MessagingException e) {

54 e.printStackTrace();

55 }  catch (IOException e) {

56 e.printStackTrace();

57 }

58 return;

59 }

60 //--------------------------61 if (mud==null){

62 Login login=new Login("imap","mail.server.com",-1,"user","password

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,关于使用JavaMail发送读取邮件的问题,我可以给你一些简单的介绍。 首先,你需要导入JavaMail的jar包,然后创建Session对象,设置邮件服务器的配置信息和账号授权信息。例如: ```java Properties props = new Properties(); props.setProperty("mail.smtp.host", "smtp.example.com"); props.setProperty("mail.smtp.auth", "true"); Session session = Session.getDefaultInstance(props, new Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication("your_username", "your_password"); } }); ``` 然后,你可以使用Message对象来创建邮件内容,并使用Transport对象将邮件发送出去。例如: ```java Message message = new MimeMessage(session); message.setFrom(new InternetAddress("sender@example.com")); message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("recipient@example.com")); message.setSubject("Testing JavaMail"); message.setText("Hello World!"); Transport.send(message); ``` 如果你需要读取邮件,也可以使用JavaMail提供的API。你需要连接到邮件服务器,打开收件箱,并遍历所有邮件。例如: ```java Store store = session.getStore("pop3"); store.connect("pop3.example.com", "your_username", "your_password"); Folder inbox = store.getFolder("INBOX"); inbox.open(Folder.READ_ONLY); Message[] messages = inbox.getMessages(); for (int i = 0; i < messages.length; i++) { Message message = messages[i]; System.out.println("Subject: " + message.getSubject()); } inbox.close(false); store.close(); ``` 这只是JavaMail的简单使用方式,如果你需要更多的功能,可以参考JavaMail的官方文档或者其他相关的教程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值