📄 mail_client.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 + -