java邮件群发代码_基于java的邮件群发软件

最近工作需要,做一个邮件群发系统,功能实现邮件群发,右键删除全选等功能,大致设计如下:

1359684025_2972.png

smtp设置窗口:

1359684297_3010.png

发送页面:

1359684776_2009.png

导入功能设计:

1359684803_8036.png

final JButton importButton = new JButton("导入地址");

importButton.addActionListener(new ActionListener(){

//添加事件

public void actionPerformed(ActionEvent e){

//TODO 读取excel文件,写入list

JFileChooser fc=new JFileChooser();

int i=fc.showOpenDialog(scrollPane);

if(i==JFileChooser.APPROVE_OPTION){

File file=fc.getSelectedFile();

if(file.toString().endsWith("xls")){

String URL=file.getPath();

try{

List> list = ExcelCommonUtil.readExcelCommon(file.toString(),true);

if(list==null || list.size()==0){

JOptionPane.showMessageDialog(null,"电子表格内容为空!");

return;

}

int listLength = list.size();

String [][] tableVales= new String[listLength][list.get(0).size()]; //数据

for(int j = 0; j < listLength;j++){

if(list.get(j).size()>0){

String id = OperateProperties.genId();

//tableVales[j][1]=list.get(j).get(excelCloumnId);

tableVales[j][1]=id;

if(list.get(j).size()>1){

tableVales[j][2]=list.get(j).get(excelCloumnEmail);

}else{

tableVales[j][2]= "";

}

}

int rowCount = table.getRowCount() +1;   //行数加上1

Object[] temp = {String.valueOf(rowCount),tableVales[j][1],tableVales[j][2],true,INITSTATUS};

tableModel.addRow(temp);

}

table.updateUI();

}catch(Exception e1){

e1.printStackTrace();

JOptionPane.showMessageDialog(null,"读取电子表格文件异常!");

}

}else{

JOptionPane.showMessageDialog(null,"必须是excel2003电子表格文件!");

}

}

}

});

panel.add(importButton);

编辑发送功能:

1359684852_8065.png

大致功能就这些。

final JButton sendButton = new JButton("编辑发送");

sendButton.addActionListener(new ActionListener(){

//添加事件

public void actionPerformed(ActionEvent e){

username = OperateProperties.ReadProperties(filename, "username");

password = OperateProperties.ReadProperties(filename, "password");

smtp = OperateProperties.ReadProperties(filename, "smtp");

String excelCloumn = OperateProperties.ReadProperties(filename, "excelCloumnEmail");

excelCloumnEmail = Integer.parseInt(excelCloumn);

if(table.getRowCount()==0){

JOptionPane.showMessageDialog(null,"电子邮件地址为空!");

return;

}

//TODO 获取复选框值 tempList 供调用

for(int i = 0;i

if((Boolean)tableModel.getValueAt(i,3)){

int key = i;

String value = (String)tableModel.getValueAt(i, 2);

tempMap.put(key, value);

}

}

if(tempMap.size()<=0){

JOptionPane.showMessageDialog(null,"请选择要发送的邮件地址!");

return;

}

new Message();

title = Message.getEmailCap();

content = Message.getContent();

fujian = Message.getFujian();

color = new String[table.getRowCount()];

if(title!=null&& content!=null){

buttonActionPerformed(e);

}

Message.setEmailCap(null);

Message.setContent(null);

Message.setFujian(null);

}

});

panel.add(sendButton);

关键代码:

1.右键功能:

声明邮件菜单:

private JPopupMenu popupMenu;

初始化邮件菜单内容:

//右键

popupMenu = new JPopupMenu();

del = new JMenuItem("删除");

slectAll = new JMenuItem("全选");

popupMenu.add(del);

popupMenu.add(slectAll);

添加事件:

//删除事件

del.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

int selectedRow = table.getSelectedRow();//获得选中行的索引

if(selectedRow!=-1)  //存在选中行

{

String id = (String) tableModel.getValueAt(selectedRow, 0);

String genId = (String) tableModel.getValueAt(selectedRow, 1);

String email = (String) tableModel.getValueAt(selectedRow, 2);

boolean select = (Boolean) tableModel.getValueAt(selectedRow, 3);

String status = (String) tableModel.getValueAt(selectedRow, 4);

Object[] temp = {id,genId,email,select,status};

tableModel.removeRow(temp);  //删除行

//强制刷新界面

table.updateUI();

}else{

JOptionPane.showMessageDialog(null,"请选择一行");

}

}});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值