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

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邮件群发系统相关推荐

  1. java邮件群发代码_基于jsp的邮件群发系统-JavaEE实现邮件群发系统 - java项目源码...

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的邮件群发系统, 该项目可用各类java课程设计大作业中, 邮件群发系统的系统架构分为前后台两部分, 最终实现在线上 ...

  2. php邮箱群发,PHP的邮件群发系统phplist配置方法详细总结

    本文实例讲述了PHP的邮件群发系统phplist配置方法.分享给大家供大家参考,具体如下: phplist是一个十分不错的邮件群发系统,让我们可以很方便地群发电子杂志.小广告(^_^)等. 最近帮一个 ...

  3. 免费分享我的匿名邮件群发系统,可匿名发送: 163 126 139 gmail qq 21cn 263 及各类企业级邮件

    免费分享我的匿名邮件群发系统,可匿名发送: 163 126 139  gmail qq 21cn 263 及各类企业级邮件 下载地址1(含frame work框架版大小 200兆):  http:// ...

  4. 免费分享我的匿名邮件群发系统,可匿名发送: 163 126 139 gmail qq 21cn 263 及各类企业级邮件

    免费分享我的匿名邮件群发系统,可匿名发送: 163 126 139  gmail qq 21cn 263 及各类企业级邮件 下载地址1(含frame work框架版大小 200兆):  http:// ...

  5. 自建邮局服务器| 批量邮件群发系统PowerMTA+oem(mumara,mailwizz, interspire)

    自建邮局服务器| 批量邮件群发系统PowerMTA+oem(mumara,mailwizz, interspire) PowerMTA4.5(最好用的 群发邮件软件)是用于大批量多ip开发的邮件传递邮 ...

  6. 基于thinkphp的邮件群发系统的设计

    在网上找了很多资料,关于邮件群发系统的开发并没有一个非常好的方案,冥思苦相数日,研究了一套目前使用稍微有点效果的邮件群发系统,特地来分享一下,当然有过有更好的方案,欢迎大家一起讨论,或者私聊一下我. ...

  7. TurboMail为企业提供海量投递邮件群发系统

    2019独角兽企业重金招聘Python工程师标准>>> 一.电子邮件是海量投递用户账单的最佳途径 1.个人电子邮箱已经普及 根据2012年的统计报告,中国网民的电子邮箱使用率为44. ...

  8. 分享我的匿名邮件群发系统 VC版,可匿名发送: 163 126 139 gmail 21cn 263 及各类企业级邮件

    分享我的匿名邮件群发系统 VC版,可匿名发送: 163 126 139  gmail 21cn 263 及各类企业级邮件 下载地址1(600K): http://www.everbox.com/f/N ...

  9. 企业邮箱搭建费用,smtp邮件系统怎么搭建?验证码邮件群发,有哪些推荐邮件群发系统?

    您是否为没法发smtp群发邮件而苦恼,别担心,这里将给大家介绍一下什么是企业邮箱,邮局系统怎么搭建,验证码邮件群发,有哪些推荐邮件群发系统? 企业邮箱搭建:成本和考量因素 在如今数字化的商业环境中,企 ...

最新文章

  1. mSystems:干旱对土壤微生物组的影响
  2. 深入学习Heritrix---解析CrawlController
  3. pilt图像处理_Python用Pillow(PIL)进行简单的图像操作
  4. elasticsearch python API
  5. python中hashmap的方法_如何为Java的HashMap模拟Python的dict的“ items(...
  6. leetcode - 104. 二叉树的最大深度
  7. 要求在ASP.NET Core 2.2中确认电子邮件——第1部分
  8. 一个iOS开发者的Flutter“历险记”
  9. 会java c php三种语言_php java net三种语言的区别
  10. python php mysql_Python 操作 MySQL 的正确姿势
  11. gc日志怎么看_JVM探秘:GC日志收集与分析
  12. Openstack Nova network
  13. 【地球科学】使用USGS下载指定地区的遥感影像
  14. db9小波包分解matlab,小波包分解 仿真 matlab
  15. 转载:微信抢红包算法
  16. EPLAN 教育版超详细安装说明
  17. 梯形公式和辛普森的Matlab
  18. 关于联想笔记本无线网老是掉线的解决方法
  19. 开源了一套wms系统,支持lodop和网页打印入库单、出库单。
  20. 2020年创业风口:社交电商

热门文章

  1. 全球及中国非小细胞肺癌药物行业研究及十四五规划分析报告
  2. [What is the PBR?] - 对Reflection的误解(漫反射镜面反射)
  3. 利率里面的BP是什么意思,固定利率bp什么意思啊
  4. 扁平化商务风格团队管理培训PPT模板
  5. CSP认证-现值计算、训练计划、JPEG 解码、聚集方差
  6. 开源的轻量级物联网开发平台源码【免费分享】
  7. 7.3路由器与交换机的基本配置
  8. 计算机组装实验心得体会,2021电脑组装实训心得体会文章
  9. 书籍《银河帝国11:曙光中的机器人》观后感
  10. osi 模型 会话层_会话层在OSI模型中的功能| 计算机网络