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

📄 remotemailmanagement.java~49~

📁 Mail Of Java
💻 JAVA~49~
字号:
/** 仿造foxmail远程油箱管理数据模型用message[]做所用主要技术:storeURLNameMVC JTableFetchProfile类*/package mailofjava;import javax.mail.*;import javax.mail.internet.*;import javax.swing.*;import javax.swing.table.*;import java.awt.*;import java.awt.event.*;import java.util.*;public class RemoteMailManagement extends JFrame {   JTable jtable;   JScrollPane jsp;   public RemoteMailManagement() {    MessageModel mdl=new MessageModel();    jtable=new JTable(mdl);    jsp=new JScrollPane();    jsp.getViewport().add(jtable);    this.getContentPane().add(jsp);  }  public static void main(String[] args) {    RemoteMailManagement remoteMailManagement1 = new RemoteMailManagement();    remoteMailManagement1.addWindowListener(        new WindowAdapter(){            public void WindowsListener(WindowEvent we){              System.exit(0);            };       }//adapter      );   remoteMailManagement1.setSize(600,300);   remoteMailManagement1.setVisible(true);   //remoteMailManagement1.show() ;  //  System.exit(0);  }}class MessageModel extends AbstractTableModel{public   static final int MAIL_SUBJECT=0;public    static final int MAIL_FROM=1;public    static final int MAIL_TO=2;public    static final int MAIL_DATE=3;public    static final int MAIL_REPLYTO=4; Message[]  msg;  public MessageModel(){     CreateMessage msg1=new CreateMessage();     msg=msg1.getMessage() ;  }//constructor  public int getColumnCount() {//有几行呢? /*有subject  ,from ,to,received date,reply to 5个字段 */    return 5;  }  public int getRowCount() {//行数就是信息之条数,在构造前做的?    int i;    i=msg.length ;   return i ;  }  /** 取得指定位置的元素*/  public Object getValueAt (int row, int column) {//取得值,好象是容器回调的    if(row> msg.length)    {    System.out.println("out of range");       System.exit(1);    };  try{    switch(column){      case  MessageModel.MAIL_DATE: return   msg[row].getReceivedDate() ;      case  MessageModel.MAIL_FROM:      {        Address[] add;        add =  msg[row].getFrom()  ;        return add[0].toString() ;      };      case MessageModel.MAIL_REPLYTO: return  msg[row].getReplyTo()[0].toString() ;      case  MessageModel.MAIL_SUBJECT : return msg[row].getSubject() ;      case MessageModel.MAIL_TO : return msg[row].getRecipients(Message.RecipientType.TO )[0].toString() ;          default: return "不清楚";    }//switch  }catch(Exception e){ System.out.println("getvalu"); e.printStackTrace() ;};  return "error";  }  public String getColumnName (int columnIndex) {      switch(columnIndex)      {         case  MessageModel.MAIL_DATE: return "日期";         case  MessageModel.MAIL_FROM: return "来自";         case MessageModel.MAIL_REPLYTO: return "回复到";         case  MessageModel.MAIL_SUBJECT : return "主题";         case MessageModel.MAIL_TO : return "寄达";          default: return "不清楚";      }   }//GETCOLUMNNAME  }class CreateMessage{  Properties prop;  Session session;  protected  Message[]  msg;  URLName urlname;  Store mailstore;  Folder root,inbox ;  FetchProfile fp;//取得指定的内容public CreateMessage(){  fp=new FetchProfile(); fp.add(FetchProfile.Item.ENVELOPE );//取得信封  prop=new Properties();  urlname=new URLName("pop3","127.0.0.1",110,null,"Mithrandir","916916916");  System.out.println("url: "+urlname.toString() );  prop.put("mail.transport.protocol","pop3");  prop.put("mail.store.protocol","pop3");  try{  session=Session.getDefaultInstance(prop,null);  mailstore= session.getStore(urlname);  mailstore.connect() ;  root=mailstore.getDefaultFolder() ;  inbox=root.getFolder("INBOX") ;  inbox.open(Folder.READ_ONLY ); msg= inbox.getMessages() ; inbox.fetch(msg,fp);//取得指定的字段,在msg里头了 System.out.println("msglength="+msg.length ); System.out.println("okay,mail fetched");System.out.println("the date"+msg[0].getReceivedDate() );//  inbox.close(false); // mailstore.close();  } catch (Exception e){ e.printStackTrace() ;};}public Message[] getMessage(){  return msg;}//}

⌨️ 快捷键说明

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