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

📄 javamailframe.java

📁 使用JavaMail开发的具有发送、接收邮件的应用
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/* * JavaMainFrame.java * * Created on 2008年7月23日, 上午11:01 */package hjx.sendmail;import java.awt.Dimension;import java.awt.Toolkit;import java.io.File;import java.io.UnsupportedEncodingException;import java.util.Date;import java.util.Enumeration;import java.util.Hashtable;import java.util.Properties;import javax.activation.DataHandler;import javax.activation.FileDataSource;import javax.mail.*;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeBodyPart;import javax.mail.internet.MimeMessage;import javax.mail.internet.MimeMultipart;import javax.mail.internet.MimeUtility;import javax.naming.Context;import javax.naming.NamingEnumeration;import javax.naming.directory.Attribute;import javax.naming.directory.Attributes;import javax.naming.directory.DirContext;import javax.naming.directory.InitialDirContext;import javax.swing.DefaultListModel;import javax.swing.JFileChooser;import javax.swing.JOptionPane;/** * * @author  hujx */public class JavaMailFrame extends javax.swing.JFrame {    MailAccount account;    String currentPath = ".";    DefaultListModel listModel = new DefaultListModel();    WaitingWindow waitDlg;    /** Creates new form JavaMainFrame */    public JavaMailFrame() {        initComponents();        // Center the dialog at the center of screen        int nWndWidth = getWidth();        int nWndHeight = getHeight();        Toolkit kit = Toolkit.getDefaultToolkit();        Dimension dim = kit.getScreenSize();        setBounds((dim.width - nWndWidth) / 2, (dim.height - nWndHeight) / 2,                nWndWidth, nWndHeight);    }    /** 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.     */    @SuppressWarnings("unchecked")    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents    private void initComponents() {        jPanel1 = new javax.swing.JPanel();        jLabel1 = new javax.swing.JLabel();        txtTo = new javax.swing.JTextField();        txtCC = new javax.swing.JTextField();        txtSubject = new javax.swing.JTextField();        jScrollPane1 = new javax.swing.JScrollPane();        txtContent = new javax.swing.JTextArea();        jLabel2 = new javax.swing.JLabel();        jLabel3 = new javax.swing.JLabel();        jPanel2 = new javax.swing.JPanel();        jButton1 = new javax.swing.JButton();        btnSend = new javax.swing.JButton();        jScrollPane2 = new javax.swing.JScrollPane();        lstAttach = new javax.swing.JList(listModel);        btnAdd = new javax.swing.JButton();        btnDel = new javax.swing.JButton();        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);        jLabel1.setText("收件人");        txtContent.setColumns(20);        txtContent.setRows(5);        jScrollPane1.setViewportView(txtContent);        jLabel2.setText("抄送人");        jLabel3.setText("主题");        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);        jPanel1.setLayout(jPanel1Layout);        jPanel1Layout.setHorizontalGroup(            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)            .addGroup(jPanel1Layout.createSequentialGroup()                .addContainerGap()                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)                    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)                        .addComponent(jLabel1)                        .addComponent(jLabel2))                    .addComponent(jLabel3))                .addGap(10, 10, 10)                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)                    .addComponent(txtCC, javax.swing.GroupLayout.DEFAULT_SIZE, 529, Short.MAX_VALUE)                    .addGroup(jPanel1Layout.createSequentialGroup()                        .addComponent(txtSubject, javax.swing.GroupLayout.DEFAULT_SIZE, 529, Short.MAX_VALUE)                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED))                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)                        .addComponent(txtTo, javax.swing.GroupLayout.DEFAULT_SIZE, 529, Short.MAX_VALUE)))                .addContainerGap())            .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 585, Short.MAX_VALUE)        );        jPanel1Layout.setVerticalGroup(            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)            .addGroup(jPanel1Layout.createSequentialGroup()                .addContainerGap()                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)                    .addComponent(jLabel1)                    .addComponent(txtTo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)                    .addComponent(txtCC, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)                    .addComponent(jLabel2))                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)                    .addComponent(txtSubject, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)                    .addComponent(jLabel3))                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 320, Short.MAX_VALUE))        );        getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER);        jPanel2.setBorder(javax.swing.BorderFactory.createEtchedBorder());        jButton1.setText("保存");        btnSend.setText("发送");        btnSend.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                btnSendActionPerformed(evt);            }        });        lstAttach.setBorder(javax.swing.BorderFactory.createEtchedBorder());        jScrollPane2.setViewportView(lstAttach);        btnAdd.setText("附件");        btnAdd.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                btnAddActionPerformed(evt);            }        });        btnDel.setText("删除附件");        btnDel.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                btnDelActionPerformed(evt);            }        });        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);        jPanel2.setLayout(jPanel2Layout);        jPanel2Layout.setHorizontalGroup(            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()                .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 409, javax.swing.GroupLayout.PREFERRED_SIZE)                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)                    .addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, 79, Short.MAX_VALUE)                    .addComponent(btnAdd, javax.swing.GroupLayout.DEFAULT_SIZE, 79, Short.MAX_VALUE))                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)                    .addComponent(btnSend, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)                    .addComponent(btnDel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))        );        jPanel2Layout.setVerticalGroup(            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)            .addGroup(jPanel2Layout.createSequentialGroup()                .addContainerGap()                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)                    .addComponent(btnDel)                    .addComponent(btnAdd))                .addGap(15, 15, 15)                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)                    .addComponent(jButton1)                    .addComponent(btnSend)))            .addComponent(jScrollPane2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 71, Short.MAX_VALUE)        );        getContentPane().add(jPanel2, java.awt.BorderLayout.SOUTH);        pack();    }// </editor-fold>//GEN-END:initComponents    public class MyAuthenticator extends Authenticator {        @Override

⌨️ 快捷键说明

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