最近工作需要,做一个邮件群发系统,功能实现邮件群发,右键删除全选等功能,大致设计如下:
smtp设置窗口:
发送页面:
导入功能设计:
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<String>> 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);
编辑发送功能:
大致功能就这些。
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<table.getRowCount();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,"请选择一行");
}
}});
分享到:
相关推荐
使用时需要将mail.properties和jdbc.properties的用户名密码修改为使用者自己的参数
MeyboMail Web 是一个基于 Java 的开源邮件发送系统,旨在简化 Java 毕业设计方案。该系统提供了强大的邮件发送功能,包括群发、邮件合并、邮件追踪等,帮助毕业生快速构建一个高质量的邮件发送应用。 MeyboMail Web...
纯java开发邮件服务器,基于SMTP和POP3协议开发的服务器。其中包括群发和转发功能
java语言开发的邮件收发系统(包括邮件的发送、读取、删除等添加联系人、修改联系人等、也可以群发邮件)本邮件系统仅供大家学习用,呵呵,不足之处请自行完善! (完善版下载地址: ...
本次毕业设计使用JAVA技术完成邮件收发系统,实现邮件的接受和发送,并完成附件的传输,同时能实现邮件用户登录管理及邮件删除等功能,开发这个各种功能相对简单实用用邮件客户端程序,简化了很多不必要的功能。...
MailUtil:邮件工具类,包括发送纯文本邮件,带(1个/多个)附件的邮件, 群发邮件 NumberUtil:数字操作工具 包括精准数字运算,数据格式化 PageUtil:分页工具类, POIUtil:poi工具类,excel导出 QrCodeUtil...
对企业快信的开发进行了较深入的研究,然后对短信发送与邮件发送原理...为此,系统提供邮件群发、短信群发、人员档案、信息的管理等功能。系统是短信猫与邮件在企业商务应用中的典型实例,因此必然受到众多企业的青睐。
该软件基于Java编写,采用标准的POP3协议与邮件服务器通讯,采用RS232实现手机对手机或HTTP方式实现WEB对手机的短信息SMS发送。还可以通过CMPP协议与中国移动短消息网关相连。可以独立运行在各种装有java运行环境的...
利用网页在邮件微信平台群发.pdf 图像理解中的卷积神经网络.pdf 图说设计模式.pdf 基于深度神经网络的股票智能预测系统的设计与实现.pdf 实例_来源收入统计副本5447.pdf 微博数据分析软件概述.pdf 微服务架构-单体...
实例13 基于Java语言的多线程同步机制 实例14 Java程序中的多线程实现 实例15 利用Java的多线程技术实现并行多任务的管理 实例16 在Win32系统中引导Java程序 实例17 利用Java实现一个非线性规划问题 实例...
然后点击Check Emails.exe直接运行,基于许多公司在用到邮件推广时因收集到的电子邮件可能存在格式错误,或中间出现空格,在群发邮件时邮件间需要添加“,”或“;”进行分隔,而收集到的邮件却是独立的,手动添加起来...
7. 系统用户:对各个基本的用户增删改查,单发、群发站内信邮件短信,导入导出excel表格,批量删除 8. 会员管理:对前台用户管理,分配会员级别,到期时间,状态,联系信息等资料 9. 代码生成:生成完整的模块代码...
**ASP.NET基于C#的电子邮件简单收发系统设计与实现** 本资源提供了一个使用ASP.NET框架和C#语言开发的电子邮件收发系统。该系统旨在提供一个简单易用的界面,让用户能够发送和接收电子邮件。系统采用模块化设计,...
5.8 邮件群发 - 33 - 5.8.1 界面 - 34 - 5.8.2 发送邮件代码 - 35 - 5.9 接收邮件 - 36 - 5.9.1 界面 - 37 - 5.9.2 邮件接收代码 - 38 - 5.10 查看所有邮件 - 39 - 5.10.1 界面 - 39 - 5.10.2 查看所有邮件代码实现 ...
邮件群发 系统相关 模板管理 插件管理 微信管理 系统管理 特点 模板 模板在线安装、卸载 模板在线启用、切换 在线编辑及实时生效 完善的模板开发文档 极致的模板开发体验 插件 插件在线安装、卸载 插件在线启用、...
10、邮件报警:任务失败时支持邮件报警,支持配置多邮件地址群发报警邮件; 11、支持登录验证; 12、GLUE:提供Web IDE,支持在线开发任务逻辑代码,动态发布,实时编译生效,省略部署上线的过程。支持30个...