public class Email_Autherticator extends Authenticator
  {//此段代码用来进行服务器对用户的认证
       public Email_Autherticator()
         {
            super();
         }
       public PasswordAuthentication getPasswordAuthentication()
         {
             return new PasswordAuthentication(username,password);
         }
  }  void jButton2_actionPerformed(ActionEvent e) {
    try
     {//该程序为接收邮件
       Properties props = System.getProperties(); //获取系统变量
       Authenticator auth = new Email_Autherticator();  
       props.put("mail.smtp.host",host);
       props.put("mail.smtp.auth","true");
       Session session = Session.getDefaultInstance(props,auth); //建立session
       Store store = session.getStore("imap");
       store.connect(host,username,password);    //After connecting to the Store,you can get a Folder,which must be opened before you can read messages from it:
       Folder folder = store.getFolder("INBOX");//连接到Store后,取得一个文件夹,一般默认的是INDEX
       folder.open(Folder.READ_WRITE);//READ_ONLY为打开方式
       Message message[] = folder.getMessages();//从文件夹获取邮件信息    //可以用两种方式去获得邮件信息,getContent()用来获得邮件的主体信息。而WriteTo()可以用来获得邮件的全部信息,包括头部信息
    //   System.out.println(((MimeMessage)message).getContent());
       for (int i=0,n=message.length;i<n;i++)
         {
            
            String out_from_person = ((InternetAddress)message[i].getFrom()[0]).getPersonal();
            String out_from_address = ((InternetAddress)message[i].getFrom()[0]).getAddress();
            System.out.println("From:"+out_from_person+"\t");
            System.out.println("Address:"+out_from_address+"\t");            String out_subject = message[i].getSubject();
            System.out.println("Subject:"+out_subject+"\t");            //以下代码用来获得邮件的正文信息
            Part messagePart = message[i];
            Object out_content = messagePart.getContent();
            if (out_content instanceof Multipart)
              {
                 messagePart = ((Multipart)out_content).getBodyPart(0);
                 System.out.println("[ Multipart Message ]");
              }
            String out_content_type = messagePart.getContentType();
            System.out.println("CONTENT:"+out_content_type);            if (out_content_type.startsWith("text/plain") || out_content_type.startsWith("text/html"))
              {
                  InputStream ipstm = messagePart.getInputStream();
                  BufferedReader bufreader = new BufferedReader(new InputStreamReader(ipstm));
                  String thisLine = bufreader.readLine();
                  while (thisLine != null)
                    {
                        System.out.println("thisLine: "+thisLine);
                        thisLine = bufreader.readLine();
                    }
              }
            System.out.println("------------------------------------------------------------");
            message[i].setFlag(Flags.Flag.DELETED,true);//最后删除服务器端的邮件
         }
              //DELETED,ANSWERED,DRAFT,FLAGGED,RECENT,SEEN,USER
       folder.close(true);//true的话,彻底删除已经标记为DELETE的邮件,如果为false的话,就不删除
       store.close();//关闭
     }
    catch(Exception ej2)
     {
        System.out.println(ej2);
     }
  }  void jButton4_actionPerformed(ActionEvent e) {
    try
     {//该程序为回复邮件
       Properties props = System.getProperties(); //获取系统变量
       Authenticator auth = new Email_Autherticator();  //取得穃uFFFD衿魅现?
       props.put("mail.smtp.host",host);
       props.put("mail.smtp.auth","true");
       Session session = Session.getDefaultInstance(props,auth); //建立session
       Store store = session.getStore("pop3");
       store.connect(host,username,password);       Folder folder = store.getFolder("INBOX");
       folder.open(Folder.READ_WRITE);
       Message message[] = folder.getMessages();       for (int i=0,n=message.length;i<n;i++)
         {
  //        String out_from_person = ((InternetAddress)message[i].getFrom()[0]).getPersonal();//获取邮件发信人的署名
  
            String out_from_address = ((InternetAddress)message[i].getFrom()[0]).getAddress();
            System.out.println(out_from_address);            Message forward = new MimeMessage(session);
            forward.setSubject("Fwd:"+message[i].getSubject());
            forward.setFrom(new InternetAddress(mail_to));
            forward.addRecipient(Message.RecipientType.TO,new InternetAddress(out_from_address));            BodyPart messageBodyPart = new MimeBodyPart();
            messageBodyPart.setText("Here you go with the original message:\n\n");            Multipart multipart = new MimeMultipart();
            multipart.addBodyPart(messageBodyPart);            messageBodyPart = new MimeBodyPart();
            messageBodyPart.setDataHandler(message[i].getDataHandler());            multipart.addBodyPart(messageBodyPart);
            forward.setContent(multipart);            Transport.send(forward);
            message[i].setFlag(Flags.Flag.DELETED,true);//DELETED,ANSWERED,DRAFT,FLAGGED,RECENT,SEEN,USER
         }
       folder.close(true);
       store.close();//关闭
     }
    catch(Exception ej2)
     {
        System.out.println(ej2);
     }  }你修改一下就可以了,我用这个已经做出来了

解决方案 »

  1.   

    public class Email_Autherticator extends Authenticator
      {//此段代码用来进行服务器对用户的认证
           public Email_Autherticator()
             {
                super();
             }
           public PasswordAuthentication getPasswordAuthentication()
             {
                 return new PasswordAuthentication(username,password);
             }
      }  void jButton2_actionPerformed(ActionEvent e) {
        try
         {//该程序为接收邮件
           Properties props = System.getProperties(); //获取系统变量
           Authenticator auth = new Email_Autherticator();  
           props.put("mail.smtp.host",host);
           props.put("mail.smtp.auth","true");
           Session session = Session.getDefaultInstance(props,auth); //建立session
           Store store = session.getStore("imap");
           store.connect(host,username,password);    //After connecting to the Store,you can get a Folder,which must be opened before you can read messages from it:
           Folder folder = store.getFolder("INBOX");//连接到Store后,取得一个文件夹,一般默认的是INDEX
           folder.open(Folder.READ_WRITE);//READ_ONLY为打开方式
           Message message[] = folder.getMessages();//从文件夹获取邮件信息    //可以用两种方式去获得邮件信息,getContent()用来获得邮件的主体信息。而WriteTo()可以用来获得邮件的全部信息,包括头部信息
        //   System.out.println(((MimeMessage)message).getContent());
           for (int i=0,n=message.length;i<n;i++)
             {
                
                String out_from_person = ((InternetAddress)message[i].getFrom()[0]).getPersonal();
                String out_from_address = ((InternetAddress)message[i].getFrom()[0]).getAddress();
                System.out.println("From:"+out_from_person+"\t");
                System.out.println("Address:"+out_from_address+"\t");            String out_subject = message[i].getSubject();
                System.out.println("Subject:"+out_subject+"\t");            //以下代码用来获得邮件的正文信息
                Part messagePart = message[i];
                Object out_content = messagePart.getContent();
                if (out_content instanceof Multipart)
                  {
                     messagePart = ((Multipart)out_content).getBodyPart(0);
                     System.out.println("[ Multipart Message ]");
                  }
                String out_content_type = messagePart.getContentType();
                System.out.println("CONTENT:"+out_content_type);            if (out_content_type.startsWith("text/plain") || out_content_type.startsWith("text/html"))
                  {
                      InputStream ipstm = messagePart.getInputStream();
                      BufferedReader bufreader = new BufferedReader(new InputStreamReader(ipstm));
                      String thisLine = bufreader.readLine();
                      while (thisLine != null)
                        {
                            System.out.println("thisLine: "+thisLine);
                            thisLine = bufreader.readLine();
                        }
                  }
                System.out.println("------------------------------------------------------------");
                message[i].setFlag(Flags.Flag.DELETED,true);//最后删除服务器端的邮件
             }
                  //DELETED,ANSWERED,DRAFT,FLAGGED,RECENT,SEEN,USER
           folder.close(true);//true的话,彻底删除已经标记为DELETE的邮件,如果为false的话,就不删除
           store.close();//关闭
         }
        catch(Exception ej2)
         {
            System.out.println(ej2);
         }
      }  void jButton4_actionPerformed(ActionEvent e) {
        try
         {//该程序为回复邮件
           Properties props = System.getProperties(); //获取系统变量
           Authenticator auth = new Email_Autherticator();  //取得穃uFFFD衿魅现?
           props.put("mail.smtp.host",host);
           props.put("mail.smtp.auth","true");
           Session session = Session.getDefaultInstance(props,auth); //建立session
           Store store = session.getStore("pop3");
           store.connect(host,username,password);       Folder folder = store.getFolder("INBOX");
           folder.open(Folder.READ_WRITE);
           Message message[] = folder.getMessages();       for (int i=0,n=message.length;i<n;i++)
             {
      //        String out_from_person = ((InternetAddress)message[i].getFrom()[0]).getPersonal();//获取邮件发信人的署名
      
                String out_from_address = ((InternetAddress)message[i].getFrom()[0]).getAddress();
                System.out.println(out_from_address);            Message forward = new MimeMessage(session);
                forward.setSubject("Fwd:"+message[i].getSubject());
                forward.setFrom(new InternetAddress(mail_to));
                forward.addRecipient(Message.RecipientType.TO,new InternetAddress(out_from_address));            BodyPart messageBodyPart = new MimeBodyPart();
                messageBodyPart.setText("Here you go with the original message:\n\n");            Multipart multipart = new MimeMultipart();
                multipart.addBodyPart(messageBodyPart);            messageBodyPart = new MimeBodyPart();
                messageBodyPart.setDataHandler(message[i].getDataHandler());            multipart.addBodyPart(messageBodyPart);
                forward.setContent(multipart);            Transport.send(forward);
                message[i].setFlag(Flags.Flag.DELETED,true);//DELETED,ANSWERED,DRAFT,FLAGGED,RECENT,SEEN,USER
             }
           folder.close(true);
           store.close();//关闭
         }
        catch(Exception ej2)
         {
            System.out.println(ej2);
         }  }你修改一下就可以了,
      

  2.   

    public class Email_Autherticator extends Authenticator
      {//此段代码用来进行服务器对用户的认证
           public Email_Autherticator()
             {
                super();
             }
           public PasswordAuthentication getPasswordAuthentication()
             {
                 return new PasswordAuthentication(username,password);
             }
      }  void jButton2_actionPerformed(ActionEvent e) {
        try
         {//该程序为接收邮件
           Properties props = System.getProperties(); //获取系统变量
           Authenticator auth = new Email_Autherticator();  
           props.put("mail.smtp.host",host);
           props.put("mail.smtp.auth","true");
           Session session = Session.getDefaultInstance(props,auth); //建立session
           Store store = session.getStore("imap");
           store.connect(host,username,password);    //After connecting to the Store,you can get a Folder,which must be opened before you can read messages from it:
           Folder folder = store.getFolder("INBOX");//连接到Store后,取得一个文件夹,一般默认的是INDEX
           folder.open(Folder.READ_WRITE);//READ_ONLY为打开方式
           Message message[] = folder.getMessages();//从文件夹获取邮件信息    //可以用两种方式去获得邮件信息,getContent()用来获得邮件的主体信息。而WriteTo()可以用来获得邮件的全部信息,包括头部信息
        //   System.out.println(((MimeMessage)message).getContent());
           for (int i=0,n=message.length;i<n;i++)
             {
                
                String out_from_person = ((InternetAddress)message[i].getFrom()[0]).getPersonal();
                String out_from_address = ((InternetAddress)message[i].getFrom()[0]).getAddress();
                System.out.println("From:"+out_from_person+"\t");
                System.out.println("Address:"+out_from_address+"\t");            String out_subject = message[i].getSubject();
                System.out.println("Subject:"+out_subject+"\t");            //以下代码用来获得邮件的正文信息
                Part messagePart = message[i];
                Object out_content = messagePart.getContent();
                if (out_content instanceof Multipart)
                  {
                     messagePart = ((Multipart)out_content).getBodyPart(0);
                     System.out.println("[ Multipart Message ]");
                  }
                String out_content_type = messagePart.getContentType();
                System.out.println("CONTENT:"+out_content_type);            if (out_content_type.startsWith("text/plain") || out_content_type.startsWith("text/html"))
                  {
                      InputStream ipstm = messagePart.getInputStream();
                      BufferedReader bufreader = new BufferedReader(new InputStreamReader(ipstm));
                      String thisLine = bufreader.readLine();
                      while (thisLine != null)
                        {
                            System.out.println("thisLine: "+thisLine);
                            thisLine = bufreader.readLine();
                        }
                  }
                System.out.println("------------------------------------------------------------");
                message[i].setFlag(Flags.Flag.DELETED,true);//最后删除服务器端的邮件
             }
                  //DELETED,ANSWERED,DRAFT,FLAGGED,RECENT,SEEN,USER
           folder.close(true);//true的话,彻底删除已经标记为DELETE的邮件,如果为false的话,就不删除
           store.close();//关闭
         }
        catch(Exception ej2)
         {
            System.out.println(ej2);
         }
      }  void jButton4_actionPerformed(ActionEvent e) {
        try
         {//该程序为回复邮件
           Properties props = System.getProperties(); //获取系统变量
           Authenticator auth = new Email_Autherticator();  //取得穃uFFFD衿魅现?
           props.put("mail.smtp.host",host);
           props.put("mail.smtp.auth","true");
           Session session = Session.getDefaultInstance(props,auth); //建立session
           Store store = session.getStore("pop3");
           store.connect(host,username,password);       Folder folder = store.getFolder("INBOX");
           folder.open(Folder.READ_WRITE);
           Message message[] = folder.getMessages();       for (int i=0,n=message.length;i<n;i++)
             {
      //        String out_from_person = ((InternetAddress)message[i].getFrom()[0]).getPersonal();//获取邮件发信人的署名
      
                String out_from_address = ((InternetAddress)message[i].getFrom()[0]).getAddress();
                System.out.println(out_from_address);            Message forward = new MimeMessage(session);
                forward.setSubject("Fwd:"+message[i].getSubject());
                forward.setFrom(new InternetAddress(mail_to));
                forward.addRecipient(Message.RecipientType.TO,new InternetAddress(out_from_address));            BodyPart messageBodyPart = new MimeBodyPart();
                messageBodyPart.setText("Here you go with the original message:\n\n");            Multipart multipart = new MimeMultipart();
                multipart.addBodyPart(messageBodyPart);            messageBodyPart = new MimeBodyPart();
                messageBodyPart.setDataHandler(message[i].getDataHandler());            multipart.addBodyPart(messageBodyPart);
                forward.setContent(multipart);            Transport.send(forward);
                message[i].setFlag(Flags.Flag.DELETED,true);//DELETED,ANSWERED,DRAFT,FLAGGED,RECENT,SEEN,USER
             }
           folder.close(true);
           store.close();//关闭
         }
        catch(Exception ej2)
         {
            System.out.println(ej2);
         }  }