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

📄 mail_client.java

📁 用java发邮件 总共有两个文件,mail_client.java和sendmail.java
💻 JAVA
字号:
/* * mail_client.java * * Created on 2008年4月21日, 下午7:44 */import java.io.*;import java.net.*;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JDialog;/** @author  shaoxiaoze*/public class mail_client extends javax.swing.JFrame {    /** Creates new form mail_client */    public mail_client() {        initComponents();        final int DEFAULT_WIDTH=500;        final int DEFAULT_HEIGHT=450;        setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);    }    /** This method is called from within the constructor to     * initialize the form.     * WARNING: Do NOT modify this code. The content of this method is     * always regenerated by the Form Editor.     */    // <editor-fold defaultstate="collapsed" desc=" 生成的代码 ">//GEN-BEGIN:initComponents    private void initComponents() {        jLabel1 = new javax.swing.JLabel();        jLabel2 = new javax.swing.JLabel();        jLabel3 = new javax.swing.JLabel();        jLabel4 = new javax.swing.JLabel();        jTextField1 = new javax.swing.JTextField("shaoxiaoze908@163.com");        jTextField2 = new javax.swing.JTextField();        jTextField3 = new javax.swing.JTextField();        jTextPane1 = new javax.swing.JTextPane();        jButton1 = new javax.swing.JButton();        jButton3 = new javax.swing.JButton();        jButton2 = new javax.swing.JButton();        getContentPane().setLayout(null);        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);        setTitle("Java MailClient");        setBackground(new java.awt.Color(153, 153, 255));        setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));        jLabel1.setFont(new java.awt.Font("Arial Black", 1, 18));        jLabel1.setText("  From:");        getContentPane().add(jLabel1);        jLabel1.setBounds(0, 10, 80, 30);        jLabel2.setFont(new java.awt.Font("Arial Black", 1, 18));        jLabel2.setText("  To:");        getContentPane().add(jLabel2);        jLabel2.setBounds(0, 50, 80, 30);        jLabel3.setFont(new java.awt.Font("Arial Black", 1, 18));        jLabel3.setText("  Subject:");        getContentPane().add(jLabel3);        jLabel3.setBounds(0, 90, 110, 30);        jLabel4.setFont(new java.awt.Font("Arial Black", 1, 18));        jLabel4.setText("  Message:");        getContentPane().add(jLabel4);        jLabel4.setBounds(0, 120, 120, 30);        jTextField1.setFont(new java.awt.Font("Arial Black", 0, 14));        jTextField1.setHorizontalAlignment(javax.swing.JTextField.LEFT);        getContentPane().add(jTextField1);        jTextField1.setBounds(90, 10, 380, 30);        jTextField2.setFont(new java.awt.Font("Arial Black", 1, 14));        jTextField2.setHorizontalAlignment(javax.swing.JTextField.LEFT);        getContentPane().add(jTextField2);        jTextField2.setBounds(60, 50, 410, 30);        jTextField3.setFont(new java.awt.Font("Arial Black", 0, 14));        jTextField3.setHorizontalAlignment(javax.swing.JTextField.LEFT);        getContentPane().add(jTextField3);        jTextField3.setBounds(110, 90, 360, 30);        jTextPane1.setFont(new java.awt.Font("隶书", 1, 13));        getContentPane().add(jTextPane1);        jTextPane1.setBounds(10, 150, 460, 210);        jButton1.setFont(new java.awt.Font("DialogInput", 0, 14));        jButton1.setText("Send");        jButton1.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                jButton1ActionPerformed(evt);            }        });        getContentPane().add(jButton1);        jButton1.setBounds(10, 370, 120, 30);        jButton3.setFont(new java.awt.Font("DialogInput", 0, 14));        jButton3.setText("Quit");        jButton3.addActionListener(new java.awt.event.ActionListener() {		            public void actionPerformed(java.awt.event.ActionEvent evt) {		                jButton3ActionPerformed(evt);		            }        });        getContentPane().add(jButton3);        jButton3.setBounds(330, 370, 120, 30);        jButton2.setFont(new java.awt.Font("DialogInput", 0, 14));        jButton2.setText("Clear");        jButton2.addActionListener(new java.awt.event.ActionListener() {		            public void actionPerformed(java.awt.event.ActionEvent evt) {		                jButton2ActionPerformed(evt);		            }        });        getContentPane().add(jButton2);        jButton2.setBounds(170, 370, 120, 30);        pack();    }    // </editor-fold>//GEN-END:initComponents    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {		//GEN-FIRST:event_jButton1ActionPerformed        //        String username="";		String password="";		//这里填写用户名和密码		String HELO="HELO";		String MAIL_FROM="MAIL FROM:<"+jTextField1.getText()+">";		String RCPT_TO="RCPT TO:<"+jTextField2.getText()+">";		String SUBJECT="SUBJECT:"+jTextField3.getText()+"\n";		String DATA="DATA"; //消息的开始		String BODY=jTextPane1.getText()+"\n.\n";		Socket smtp=null;		try{			smtp=new Socket("smtp.163.com",25);			OutputStream os= smtp.getOutputStream();			PrintStream ps=new PrintStream(os);			InputStream is= smtp.getInputStream();			DataInputStream dis=new DataInputStream(is);			sendmail sm = new sendmail(ps,dis);			String loc=InetAddress.getLocalHost().getHostName();			sm.send(HELO+loc);			sm.receive();			sm.send("HELO smtp");			sm.receive();            sm.send("AUTH LOGIN");            sm.receive();            sm.send(sm.getBASE64(username));            sm.receive();            sm.send(sm.getBASE64(password));            sm.receive();			sm.send(MAIL_FROM);			sm.receive();			sm.send(RCPT_TO);			sm.receive();			sm.send(DATA);			sm.receive();			sm.send(SUBJECT);			sm.receive();			sm.send(BODY);			sm.receive();			smtp.close();            JDialog jd1=new JDialog();            jd1.setTitle("Mail Sent Successfully!");            jd1.setVisible(true);            jd1.setSize(250,50);	    }         catch(IOException e)		{			JFrame jframe1=new JFrame();			jframe1.setTitle("Mail Sent Failed!");			jframe1.setSize(250,50);			jframe1.setVisible(true);		}    }//jbutton1 action performed     private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed           jTextField1.setText("");           jTextField2.setText("");           jTextField3.setText("");           jTextPane1.setText("");      }       private void jButton3ActionPerformed(java.awt.event.ActionEvent evt)      {        this.dispose();//GEN-FIRST:event_jButton3ActionPerformed      }    /**     * @param args the command line arguments     */    public static void main(String args[]) {        java.awt.EventQueue.invokeLater(new Runnable() {            public void run() {                new mail_client().setVisible(true);            }        });    }    // 变量声明 - 不进行修改//GEN-BEGIN:variables    private javax.swing.JButton jButton1;    private javax.swing.JButton jButton2;    private javax.swing.JButton jButton3;    private javax.swing.JLabel jLabel1;    private javax.swing.JLabel jLabel2;    private javax.swing.JLabel jLabel3;    private javax.swing.JLabel jLabel4;    private javax.swing.JTextField jTextField1;    private javax.swing.JTextField jTextField2;    private javax.swing.JTextField jTextField3;    private javax.swing.JTextPane jTextPane1;    // 变量声明结束//GEN-END:variables  }

⌨️ 快捷键说明

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