Java邮件群发系统
最近工作需要,做一个邮件群发系统,功能实现邮件群发,右键删除全选等功能,大致设计如下:
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,"请选择一行");
}
}});
Java邮件群发系统相关推荐
- java邮件群发代码_基于jsp的邮件群发系统-JavaEE实现邮件群发系统 - java项目源码...
基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的邮件群发系统, 该项目可用各类java课程设计大作业中, 邮件群发系统的系统架构分为前后台两部分, 最终实现在线上 ...
- php邮箱群发,PHP的邮件群发系统phplist配置方法详细总结
本文实例讲述了PHP的邮件群发系统phplist配置方法.分享给大家供大家参考,具体如下: phplist是一个十分不错的邮件群发系统,让我们可以很方便地群发电子杂志.小广告(^_^)等. 最近帮一个 ...
- 免费分享我的匿名邮件群发系统,可匿名发送: 163 126 139 gmail qq 21cn 263 及各类企业级邮件
免费分享我的匿名邮件群发系统,可匿名发送: 163 126 139 gmail qq 21cn 263 及各类企业级邮件 下载地址1(含frame work框架版大小 200兆): http:// ...
- 免费分享我的匿名邮件群发系统,可匿名发送: 163 126 139 gmail qq 21cn 263 及各类企业级邮件
免费分享我的匿名邮件群发系统,可匿名发送: 163 126 139 gmail qq 21cn 263 及各类企业级邮件 下载地址1(含frame work框架版大小 200兆): http:// ...
- 自建邮局服务器| 批量邮件群发系统PowerMTA+oem(mumara,mailwizz, interspire)
自建邮局服务器| 批量邮件群发系统PowerMTA+oem(mumara,mailwizz, interspire) PowerMTA4.5(最好用的 群发邮件软件)是用于大批量多ip开发的邮件传递邮 ...
- 基于thinkphp的邮件群发系统的设计
在网上找了很多资料,关于邮件群发系统的开发并没有一个非常好的方案,冥思苦相数日,研究了一套目前使用稍微有点效果的邮件群发系统,特地来分享一下,当然有过有更好的方案,欢迎大家一起讨论,或者私聊一下我. ...
- TurboMail为企业提供海量投递邮件群发系统
2019独角兽企业重金招聘Python工程师标准>>> 一.电子邮件是海量投递用户账单的最佳途径 1.个人电子邮箱已经普及 根据2012年的统计报告,中国网民的电子邮箱使用率为44. ...
- 分享我的匿名邮件群发系统 VC版,可匿名发送: 163 126 139 gmail 21cn 263 及各类企业级邮件
分享我的匿名邮件群发系统 VC版,可匿名发送: 163 126 139 gmail 21cn 263 及各类企业级邮件 下载地址1(600K): http://www.everbox.com/f/N ...
- 企业邮箱搭建费用,smtp邮件系统怎么搭建?验证码邮件群发,有哪些推荐邮件群发系统?
您是否为没法发smtp群发邮件而苦恼,别担心,这里将给大家介绍一下什么是企业邮箱,邮局系统怎么搭建,验证码邮件群发,有哪些推荐邮件群发系统? 企业邮箱搭建:成本和考量因素 在如今数字化的商业环境中,企 ...
最新文章
- mSystems:干旱对土壤微生物组的影响
- 深入学习Heritrix---解析CrawlController
- pilt图像处理_Python用Pillow(PIL)进行简单的图像操作
- elasticsearch python API
- python中hashmap的方法_如何为Java的HashMap模拟Python的dict的“ items(...
- leetcode - 104. 二叉树的最大深度
- 要求在ASP.NET Core 2.2中确认电子邮件——第1部分
- 一个iOS开发者的Flutter“历险记”
- 会java c php三种语言_php java net三种语言的区别
- python php mysql_Python 操作 MySQL 的正确姿势
- gc日志怎么看_JVM探秘:GC日志收集与分析
- Openstack Nova network
- 【地球科学】使用USGS下载指定地区的遥感影像
- db9小波包分解matlab,小波包分解 仿真 matlab
- 转载:微信抢红包算法
- EPLAN 教育版超详细安装说明
- 梯形公式和辛普森的Matlab
- 关于联想笔记本无线网老是掉线的解决方法
- 开源了一套wms系统,支持lodop和网页打印入库单、出库单。
- 2020年创业风口:社交电商
热门文章
- 全球及中国非小细胞肺癌药物行业研究及十四五规划分析报告
- [What is the PBR?] - 对Reflection的误解(漫反射镜面反射)
- 利率里面的BP是什么意思,固定利率bp什么意思啊
- 扁平化商务风格团队管理培训PPT模板
- CSP认证-现值计算、训练计划、JPEG 解码、聚集方差
- 开源的轻量级物联网开发平台源码【免费分享】
- 7.3路由器与交换机的基本配置
- 计算机组装实验心得体会,2021电脑组装实训心得体会文章
- 书籍《银河帝国11:曙光中的机器人》观后感
- osi 模型 会话层_会话层在OSI模型中的功能| 计算机网络