//====================controller========== // 跳转到发送邮件@RequestMapping("/fileUpdate")public String toUpdate() {return "forward:/WEB-INF/views/admin/notify/notifyFileUpdateEmail.jsp";}// 发送邮件@ResponseBody@RequestMapping("/fileUpdate2")public Object tpUpdate(String con,HttpSession session,AdminEmail adminEmail, Sysnotice sys, HttpServletRequest request, Model model) throws IOException {//System.out.println("进入con:"+con);String msg=null;try{// 邮件发送者String addEmail = "zhongjingzhiku@163.com";//发送人名称String name="中经智库云平台"; // 根据邮件发送者,查询邮件发送者和邮箱授权码和邮件内容adminEmail = notifyDownService.ademail(addEmail);//String con = request.getParameter("content");//System.out.println("con:"+con);adminEmail.setContent(con);notifyDownService.insertcon(adminEmail);// System.out.println("+++++++++:"+adminEmail.getContent());// 邮件接收者String[] em = notifyDownService.email();adminEmail.setToAddress(em);// System.out.println("adminEmail========:"+adminEmail.getToAddress().length);// 邮件标题adminEmail.setTitle("文件更新通知公告");boolean flag=JavaEmailSender.sendema(adminEmail,name);// 将信息插入到数据库if (flag == true) {msg="success";//System.out.println("1.------------------------------------");//session.setAttribute("msg",msg);//System.out.println("-------------------------:"+msg);//String conc = request.getParameter("content");sys.setNoticecont(con);sys.setNoticetype(adminEmail.getTitle());sys.setNoticetime(new Date());notifyDownService.insertSys(sys);}else{msg="fail";session.setAttribute("msg",msg);}} catch (Exception e) {e.printStackTrace();} // 在消息表里插入未读消息mymessageService.addMessagebyType2();return new JsonResult(msg);}//=============JsonResult==============private static final long serialVersionUID = 7754981695162962186L; private Object data;public JsonResult() {super();// TODO Auto-generated constructor stub}public JsonResult(Object data) {super();this.data = data;}//================JavaEmailSender====================public class JavaEmailSender { //====================发送多个邮箱(群发邮件)=================//发送多个邮箱 public static boolean sendema(AdminEmail adminEmail,String name) { Properties props = new Properties(); //Boolean result=null; Message msg =null; String addEmail=null; //邮件发送人地址 String title=null; //邮件标题 String[] mailToAddress=null;//邮件接收人地址 String concent=null; //邮件内容 String pwd=adminEmail.getAuthorizationCode(); //邮件发送人授权码 boolean flag = false; // 设置邮件服务器主机名 ,smtp.163.com:从163发邮件。用其他邮箱发就要修改 String host="smtp.163.com"; //String host="smtp.139.com"; //String host="smtp.qq.com"; // 开启debug调试 //props.setProperty("mail.debug", "true"); // 发送服务器需要身份验证 props.setProperty("mail.smtp.auth", "true"); // 设置邮件服务器主机名 ,smtp.qq.com:从163/qq发邮件,用其他邮箱发就要修改 //props.setProperty("mail.host", "smtp.139.com"); props.setProperty("mail.smtp.host", host); // 发送邮件协议名称 props.setProperty("mail.transport.protocol", "smtp"); //获取ssl协议 try{ MailSSLSocketFactory sf = new MailSSLSocketFactory(); sf.setTrustAllHosts(true); props.put("mail.smtp.ssl.enable", "true"); props.put("mail.smtp.ssl.socketFactory", sf); //获取会话 Session session = Session.getInstance(props); msg= new MimeMessage(session); //邮件内容 //System.out.println("content:"+adminEmail.getContent()); concent=adminEmail.getContent().toString(); msg.setText(concent); //邮件发送人邮箱 addEmail=adminEmail.getAdminEmail(); //MimeUtility.encodeText(name, "UTF-8","B"):解决中文乱码, //注意:不能将名字和email地址一起编码,如直接编码 "Name " 后当做收件人就会出错。 msg.setFrom(new InternetAddress(MimeUtility.encodeText(name, "UTF-8","B")+"<"+addEmail+">")); //邮件标题 title=adminEmail.getTitle(); msg.setSubject(title); //==========邮件接收人 mailToAddress = adminEmail.getToAddress(); //遍历数组,排除空白邮箱 StringBuffer sb = new StringBuffer(); for(int i=0;i