📄 groupmail.java
字号:
package com.v512;
import java.awt.Color;
import java.awt.LayoutManager;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import jxl.Cell;
public class GroupMail {
private File emailExcelFile=null;
private String sender = "";
private String subject = "test";
private String content = "";
private final static int THREAD_NUM=100;
public static void main(String[] args) {
new GroupMail().init();
}
public void init() {
final JTextArea textArea = new JTextArea(20, 50);
final JTextArea textArea2 = new JTextArea(2, 50);
textArea2.setForeground(Color.red);
final JProgressBar progressBar = new JProgressBar();
progressBar.setStringPainted(true);
progressBar.setForeground(Color.blue);
JButton openButton = new JButton("打开Excel文件");
OpenExcelFile excelFile = new OpenExcelFile();
openButton.addActionListener(excelFile);
JPanel buttonPanel = new JPanel();
JLabel emailAddress = new JLabel("发件人:");
final JTextField emailField = new JTextField(10);
JLabel emailSubject = new JLabel("主题:");
final JTextField subjectField = new JTextField(30);
JButton startButton = new JButton("开始");
startButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
sender = emailField.getText();
subject = subjectField.getText();
content = textArea.getText();
if(sender.equals("")){
textArea2.setText("请输入发件人!");
return;
}
if(sender.equals("")){
textArea2.setText("请输入主题!");
return;
}
if(content.equals("")){
textArea2.setText("请输入主题!");
return;
}
if(emailExcelFile==null){
textArea2.setText("请先选择Excel!");
return;
}
Cell[] names = HandlerExcel.readFile(emailExcelFile, 0);
Cell[] emails = HandlerExcel.readFile(emailExcelFile, 1);
progressBar.setMaximum(names.length);
progressBar.setValue(1);
int number=names.length/GroupMail.THREAD_NUM;
Cell[] newNames=new Cell[number];
Cell[] newEmails=new Cell[number];
for(int i=0;i<GroupMail.THREAD_NUM;i++){
System.arraycopy(names, 0+i*number, newNames, 0, number);
System.arraycopy(emails, 0+i*number, newEmails, 0, number);
new SendMailThread(sender,subject,content,newNames,newEmails,textArea2,progressBar).start();
}
}
});
buttonPanel.add(emailAddress);
buttonPanel.add(emailField);
buttonPanel.add(emailSubject);
buttonPanel.add(subjectField);
buttonPanel.add(openButton);
buttonPanel.add(startButton);
JPanel cp = new JPanel();
LayoutManager layout = new BoxLayout(cp, BoxLayout.Y_AXIS);
cp.setLayout(layout);
cp.add(buttonPanel);
textArea.setText("请输入邮件正文!");
JScrollPane jp = new JScrollPane(textArea);
cp.add(jp);
textArea2.setText("发送信息输出");
textArea2.setEditable(false);
JScrollPane jp2 = new JScrollPane(textArea2);
cp.add(jp2);
cp.add(progressBar);
JFrame frame = new JFrame("群发邮件软件.");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setContentPane(cp);
frame.pack();
frame.setVisible(true);
}
class OpenExcelFile implements ActionListener {
public void actionPerformed(ActionEvent e) {
JFileChooser chooser = new JFileChooser();
chooser.setCurrentDirectory(new File("."));
chooser.setFileFilter(new javax.swing.filechooser.FileFilter() {
public boolean accept(File f) {
return f.getName().toLowerCase().endsWith(".xls") || f.isDirectory();
}
public String getDescription() {
return "excel file";
}
});
int r = chooser.showOpenDialog(new JFrame());
if (r == JFileChooser.APPROVE_OPTION) {
GroupMail.this.emailExcelFile = chooser.getSelectedFile();
SmtpMail smtp = new SmtpMail();
smtp.send("mail.v512.com", "liuwei@v512.com", "liuwei8809@163.com", "file中文", "中文",
GroupMail.this.emailExcelFile.getPath());
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -