⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 getmail.java

📁 cwbbs 云网论坛源码
💻 JAVA
字号:
package cn.js.fan.mail;import javax.mail.*;import java.util.*;import cn.js.fan.util.ErrMsgException;import cn.js.fan.util.StrUtil;import org.apache.log4j.Logger;public class GetMail {    static boolean debug = true;    String user = "";    String pwd = "";    String server = "";    Message[] msgs = null;    Vector mailmsgs = null;    int port = 110;    Store store = null;    Folder folder = null;    Logger logger = Logger.getLogger( GetMail.class.getName() );    public GetMail(String server, String user, String pwd) {      this.server = server;      this.user = user;      this.pwd = pwd;    }    public GetMail(String server, int port, String user, String pwd) {      this.server = server;      this.user = user;      this.pwd = pwd;      this.port = port;    }    protected void finalize() throws Throwable {      super.finalize();      if (mailmsgs != null) {        mailmsgs.removeAllElements();        mailmsgs = null;      }    }        public Message[] receive(String type) throws ErrMsgException {        if (type==null)          return null;        try {            Properties props = System.getProperties();            Session session = Session.getDefaultInstance(props, null);            store = session.getStore("pop3");            store.connect(server, port, user, pwd);            folder = store.getDefaultFolder();            if(folder == null) throw new ErrMsgException("找不到默认目录");            folder = folder.getFolder("INBOX");            if(folder == null) throw new ErrMsgException("无 POP3 INBOX");            folder.open(Folder.READ_ONLY);            msgs = folder.getMessages();        }        catch (Exception ex) {            logger.error("receive:"+ex.getMessage());            ex.printStackTrace();            throw new ErrMsgException(ex.getMessage());        }        return msgs;    }    public void close() {        try {            if (folder != null) folder.close(false);        } catch (Exception ex2) {            logger.error("receive:" + ex2.getMessage());                    }        try {            if (store != null) store.close();        } catch (Exception ex2) {            logger.error("receive:" + ex2.getMessage());            ex2.printStackTrace();        }    }        public MailMsg getMessageOfNum(int i) {      Store store = null;      Folder folder = null;      MailMsg mailmsg = null;      try {          Properties props = System.getProperties();          Session session = Session.getDefaultInstance(props, null);          store = session.getStore("pop3");          store.connect(server, port, user, pwd);          folder = store.getDefaultFolder();          if(folder == null) throw new ErrMsgException("找不到默认目录");          folder = folder.getFolder("INBOX");          if(folder == null) throw new ErrMsgException("无 POP3 INBOX");          folder.open(Folder.READ_ONLY);          Message msg = folder.getMessage(i);          mailmsg = new MailMsg(msg,true);       }      catch (Exception ex) {          ex.printStackTrace();      }      finally {        try {            if (folder!=null) folder.close(false);        }        catch (Exception ex2) {            ex2.printStackTrace();        }        try {            if (store!=null) store.close();        }        catch (Exception ex2) {            ex2.printStackTrace();        }      }      return mailmsg;    }        public boolean delMessageOfNum(String[] mailids) {      Store store = null;      Folder folder = null;      MailMsg mailmsg = null;      try {          Properties props = System.getProperties();          Session session = Session.getDefaultInstance(props, null);          store = session.getStore("pop3");          store.connect(server, port, user, pwd);          folder = store.getDefaultFolder();          if(folder == null) throw new ErrMsgException("找不到默认目录");          folder = folder.getFolder("INBOX");          if(folder == null) throw new ErrMsgException("无 POP3 INBOX");          folder.open(Folder.READ_WRITE);          int len = mailids.length;          for (int i=0; i<len; i++) {            if (!StrUtil.isNumeric(mailids[i]))              return false;            logger.error("msg deled num:"+mailids[i]);            Message msg = folder.getMessage(Integer.parseInt(mailids[i]));            msg.setFlag(Flags.Flag.DELETED, true);          }      }      catch (Exception ex) {          ex.printStackTrace();          return false;      }      finally {        try {            if (folder!=null) folder.close(true);        }        catch (Exception ex2) {            ex2.printStackTrace();        }        try {            if (store!=null) store.close();        }        catch (Exception ex2) {            ex2.printStackTrace();        }      }      return true;    }    public Attachment getAttachment(int msgnum, int attachnum) {      Store store = null;      Folder folder = null;      MailMsg mailmsg = null;      Attachment a = null;      try {          Properties props = System.getProperties();          Session session = Session.getDefaultInstance(props, null);          store = session.getStore("pop3");          System.out.println("server=" + server + " port=" + port + " user=" + user + " pwd=" + pwd);          store.connect(server, port, user, pwd);          folder = store.getDefaultFolder();          if(folder == null) throw new ErrMsgException("找不到默认目录");          folder = folder.getFolder("INBOX");          if(folder == null) throw new ErrMsgException("无 POP3 INBOX");          folder.open(Folder.READ_ONLY);          Message msg = folder.getMessage(msgnum);          mailmsg = new MailMsg(msg);           a = mailmsg.getAttachment(attachnum);      }      catch (Exception ex) {          ex.printStackTrace();      }      finally {        try {            if (folder!=null) folder.close(false);        }        catch (Exception ex2) {            ex2.printStackTrace();        }        try {            if (store!=null) store.close();        }        catch (Exception ex2) {            ex2.printStackTrace();        }      }      return a;    }    public MailMsg getMessage(Message message) {        MailMsg msg = new MailMsg(message, false);        try {                                                                    }        catch(Exception ex) {            ex.printStackTrace();        }        return msg;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -