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

📄 pop3.java~48~

📁 java 编写的一个pop3,smtp
💻 JAVA~48~
字号:
package mail;
import java.lang.*;
import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.mail.*;
import javax.mail.internet.*;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JLabel;
import java.awt.*;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JTextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JProgressBar;
import javax.swing.*;

/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2005</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
public class POP3 extends JFrame {
    public int k=0;
    JPanel contentPane;
    JLabel jLabel1 = new JLabel();
    JTextField jTextField1 = new JTextField();
    JLabel jLabel2 = new JLabel();
    JTextField jTextField2 = new JTextField();
    JButton jButton1 = new JButton();
    JLabel jLabel3 = new JLabel();
    JTextField jTextField3 = new JTextField();
    JLabel jLabel4 = new JLabel();
    JTextArea jTextArea1 = new JTextArea();
    JLabel jLabel5 = new JLabel();
    JTextField jTextField4 = new JTextField();
    JLabel jLabel6 = new JLabel();
    JTextField jTextField5 = new JTextField();
    JLabel jLabel7 = new JLabel();
    JTextField jTextField6 = new JTextField();
    JButton jButton2 = new JButton();
    JButton jButton3 = new JButton();
    JLabel jLabel8 = new JLabel();
    JLabel jLabel9 = new JLabel();
    JTextArea jTextArea2 = new JTextArea();
    JLabel jLabel10 = new JLabel();
    JTextField jTextField7 = new JTextField();
    public POP3() {
          setResizable(false);

        try {
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            jbInit();
        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }

    /**
     * Component initialization.
     *
     * @throws java.lang.Exception
     */
    private void jbInit() throws Exception {
        contentPane = (JPanel) getContentPane();
        contentPane.setLayout(null);

        setSize(new Dimension(400, 520));
        setTitle("收件箱");
        jLabel1.setFont(new java.awt.Font("Dialog", Font.BOLD, 15));
        jLabel1.setText("用 户 名:");
        jLabel1.setBounds(new Rectangle(83, 15, 75, 29));
        jTextField1.setFont(new java.awt.Font("幼圆", Font.BOLD, 15));
        jTextField1.setBounds(new Rectangle(166, 17, 150, 24));
        jLabel2.setFont(new java.awt.Font("Dialog", Font.BOLD, 15));
        jLabel2.setText("密      码:");
        jLabel2.setBounds(new Rectangle(83, 44, 87, 23));
        jTextField2.setFont(new java.awt.Font("幼圆", Font.BOLD, 15));
        jTextField2.setBounds(new Rectangle(165, 45, 150, 24));
        jButton1.setBounds(new Rectangle(88, 445, 68, 24));
        jButton1.setFont(new java.awt.Font("Dialog", Font.BOLD, 10));
        jButton1.setText("确定");
        jButton1.addActionListener(new POP3_jButton1_actionAdapter(this));
        jLabel3.setFont(new java.awt.Font("Dialog", Font.BOLD, 15));
        jLabel3.setText("POP3地址:");
        jLabel3.setBounds(new Rectangle(74, 105, 98, 25));
        jTextField3.setFont(new java.awt.Font("Dialog", Font.BOLD, 15));
        jTextField3.setBounds(new Rectangle(167, 102, 148, 25));
        jLabel4.setFont(new java.awt.Font("幼圆", Font.BOLD, 15));
        jLabel4.setText("内  容:");
        jLabel4.setBounds(new Rectangle(17, 234, 66, 21));
        jTextArea1.setEnabled(false);
        jTextArea1.setFont(new java.awt.Font("幼圆", Font.BOLD, 13));
        jTextArea1.setText("");
        jTextArea1.setBounds(new Rectangle(13, 256, 376, 76));
        jLabel5.setFont(new java.awt.Font("幼圆", Font.BOLD, 15));
        jLabel5.setText("邮件协议:");
        jLabel5.setBounds(new Rectangle(83, 75, 81, 20));
        jTextField4.setFont(new java.awt.Font("幼圆", Font.BOLD, 15));
        jTextField4.setBounds(new Rectangle(166, 74, 148, 23));
        jTextField4.setText("pop3");
        jLabel6.setFont(new java.awt.Font("幼圆", Font.BOLD, 15));
        jLabel6.setText("发 件 人:");
        jLabel6.setBounds(new Rectangle(27, 164, 86, 23));
        jTextField5.setEnabled(false);
        jTextField5.setFont(new java.awt.Font("幼圆", Font.BOLD, 15));
        jTextField5.setText("");
        jTextField5.setBounds(new Rectangle(104, 159, 236, 24));
        jLabel7.setFont(new java.awt.Font("幼圆", Font.BOLD, 15));
        jLabel7.setText("主   题:");
        jLabel7.setBounds(new Rectangle(30, 189, 73, 23));
        jTextField6.setEnabled(false);
        jTextField6.setFont(new java.awt.Font("幼圆", Font.BOLD, 15));
        jTextField6.setText("");
        jTextField6.setBounds(new Rectangle(104, 188, 237, 21));
        jButton2.setBounds(new Rectangle(164, 445, 70, 24));
        jButton2.setFont(new java.awt.Font("幼圆", Font.BOLD, 10));
        jButton2.setText("下一封");
        jButton2.addActionListener(new POP3_jButton2_actionAdapter(this));
        jButton3.setBounds(new Rectangle(241, 444, 70, 23));
        jButton3.setFont(new java.awt.Font("幼圆", Font.BOLD, 10));
        jButton3.setText("上一封");
        jButton3.addActionListener(new POP3_jButton3_actionAdapter(this));
        jLabel8.setFont(new java.awt.Font("Dialog", Font.BOLD, 15));
        jLabel8.setForeground(Color.red);
        jLabel8.setText("");
        jLabel8.setBounds(new Rectangle(25, 139, 170, 19));
        jLabel9.setFont(new java.awt.Font("幼圆", Font.BOLD, 15));
        jLabel9.setText("附  件:");
        jLabel9.setBounds(new Rectangle(19, 334, 75, 21));
        jTextArea2.setEnabled(false);
        jTextArea2.setFont(new java.awt.Font("幼圆", Font.BOLD, 12));
        jTextArea2.setBounds(new Rectangle(16, 356, 369, 74));
        jLabel10.setFont(new java.awt.Font("幼圆", Font.BOLD, 15));
        jLabel10.setText("发送日期:");
        jLabel10.setBounds(new Rectangle(24, 215, 82, 18));
        jTextField7.setEnabled(false);
        jTextField7.setFont(new java.awt.Font("幼圆", Font.BOLD, 12));
        jTextField7.setBounds(new Rectangle(104, 217, 237, 21));
        contentPane.add(jTextField6);
        contentPane.add(jLabel7);
        contentPane.add(jLabel6);
        contentPane.add(jTextField5);
        contentPane.add(jButton1);
        contentPane.add(jButton2);
        contentPane.add(jButton3);
        contentPane.add(jTextArea2);
        contentPane.add(jTextField4);
        contentPane.add(jTextField2);
        contentPane.add(jLabel2);
        contentPane.add(jLabel1);
        contentPane.add(jLabel5);
        contentPane.add(jLabel3);
        contentPane.add(jTextField3);
        contentPane.add(jTextField1);
        contentPane.add(jLabel9);
        contentPane.add(jTextArea1);
        contentPane.add(jLabel4);
        contentPane.add(jLabel10);
        contentPane.add(jTextField7);
        contentPane.add(jLabel8);
    }

    public void jButton1_actionPerformed(ActionEvent e) {
               k=0;
             String protocol = jTextField4.getText();
                  String host     = jTextField3.getText();
                  String username = jTextField1.getText();
                  String password = jTextField2.getText();
                  try
                  {

                  Session mySession = Session.getDefaultInstance (System.getProperties(), null);
                   Store myStore = mySession.getStore(jTextField4.getText());
                   myStore.connect (jTextField3.getText(),jTextField1.getText(), jTextField2.getText());
                   Folder myFolder = myStore.getFolder("INBOX");
                    myFolder.open(Folder.READ_ONLY);
                   int messagecount = myFolder.getMessageCount();
                    Message[] message = myFolder.getMessages (1, messagecount);
                     Address[] fromAddr = message[k].getFrom();
                   if(messagecount==0)
                    JOptionPane.showMessageDialog(null, "  您的邮箱中没有邮件!");
                   else
                   JOptionPane.showMessageDialog(null, "  您的邮箱中共有"+messagecount+"封信!");
                       //System.out.println (fromAddr[0] + ":" + message[i].getSubject());
                    jLabel8.setText("您的邮箱共有" + messagecount + "封邮件") ;
                     jTextArea1.setText(message[k].getContent().toString());
                     jTextField5.setText(fromAddr[0].toString());
                     jTextField6.setText(message[k].getSubject().toString());
                     jTextField7.setText(message[k].getSentDate().toString());
                      myFolder.close(false);
                          myStore.close();
                  }
                  catch (MessagingException me)
                  {
                          System.err.println ("Messaging failure : " + me);
                  }
                  catch (Exception ex)
                  {
                          System.err.println ("Failure : " + ex);
                  }

    }

    public void jButton2_actionPerformed(ActionEvent e) {

       try
                 {

                 Session mySession = Session.getDefaultInstance (System.getProperties(), null);
                  Store myStore = mySession.getStore(jTextField4.getText());
                  myStore.connect (jTextField3.getText(),jTextField1.getText(), jTextField2.getText());
                  Folder myFolder = myStore.getFolder("INBOX");
                   myFolder.open(Folder.READ_ONLY);
                  int messagecount = myFolder.getMessageCount();
                  if(k<messagecount-1)
                        k=k+1;
                   Message[] message = myFolder.getMessages (1, messagecount);
                    Address[] fromAddr = message[k].getFrom();
                      //System.out.println (fromAddr[0] + ":" + message[i].getSubject());
                    jTextArea1.setText(message[k].getContent().toString());
                    jTextField5.setText(fromAddr[0].toString());
                    jTextField6.setText(message[k].getSubject().toString());
                     myFolder.close(false);
                         myStore.close();
                 }
                 catch (MessagingException me)
                 {
                         System.err.println ("Messaging failure : " + me);
                 }
                 catch (Exception ex)
                 {
                         System.err.println ("Failure : " + ex);
                 }

    }

    public void jButton3_actionPerformed(ActionEvent e) {
                 if(k>0)
                  k=k-1;
  try
              {

              Session mySession = Session.getDefaultInstance (System.getProperties(), null);
               Store myStore = mySession.getStore(jTextField4.getText());
               myStore.connect (jTextField3.getText(),jTextField1.getText(), jTextField2.getText());
               Folder myFolder = myStore.getFolder("INBOX");
                myFolder.open(Folder.READ_ONLY);
               int messagecount = myFolder.getMessageCount();
                Message[] message = myFolder.getMessages (1, messagecount);
                 Address[] fromAddr = message[k].getFrom();
                   //System.out.println (fromAddr[0] + ":" + message[i].getSubject());
                 jTextArea1.setText(message[k].getContent().toString());
                 jTextField5.setText(fromAddr[0].toString());
                 jTextField6.setText(message[k].getSubject().toString());
                  myFolder.close(false);
                      myStore.close();
              }
              catch (MessagingException me)
              {
                      System.err.println ("Messaging failure : " + me);
              }
              catch (Exception ex)
              {
                      System.err.println ("Failure : " + ex);
              }

     }
}


class POP3_jButton3_actionAdapter implements ActionListener {
    private POP3 adaptee;
    POP3_jButton3_actionAdapter(POP3 adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jButton3_actionPerformed(e);
    }
}


class POP3_jButton2_actionAdapter implements ActionListener {
    private POP3 adaptee;
    POP3_jButton2_actionAdapter(POP3 adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jButton2_actionPerformed(e);
    }
}


class POP3_jButton1_actionAdapter implements ActionListener {
    private POP3 adaptee;
    POP3_jButton1_actionAdapter(POP3 adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jButton1_actionPerformed(e);
    }
}

⌨️ 快捷键说明

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