private void SpringSendSMS(SendMailContent content) { try { int time = ConfigManager.getInstance().getInt("sms.Deadtime", 0); // 读配置文件,信息有效时间 // 以小时为单位 Calendar calendar = Calendar.getInstance(); int day = calendar.get(Calendar.HOUR_OF_DAY); calendar.set(Calendar.HOUR_OF_DAY, day + time); // 把当前时间+信息有效时间。 TSMSInfoBO smsInfo = new TSMSInfoBO(); smsInfo.setMobile(content.getToMobile()); smsInfo.setContent(content.getSendSmsText()); smsInfo.setDeadTime(calendar.getTime()); smsInfo.setEid(ConfigManager.getInstance().getString("sms.Eid")); smsInfo.setPassword(ConfigManager.getInstance().getString("sms.Password")); smsInfo.setStatus(0); smsInfo.setUserId(ConfigManager.getInstance().getString("sms.Userid")); smsInfo.setUsrport(ConfigManager.getInstance().getInt("sms.Userport", 0)); // 短信内容的长度限制在255内。如果超过255,就分成多条记录插到数据库dfsdl表中。 int length = content.getSendSmsText().length(); int len = length % 250 == 0 ? length / 250 : length / 250 + 1; for (int i = 0; i < len; i++) { if (i == len - 1) { smsInfo.setContent(content.getSendSmsText().substring(i * 250, length)); } else { smsInfo.setContent(content.getSendSmsText().substring(i * 250, (i + 1) * 250)); } sendInfoDao.insertSMSInfo(smsInfo); } } catch (SQLException e) { e.printStackTrace(); } }
@Override public void sendMail(SendMailContent content) { IsSendSMS = ConfigManager.getInstance().getBoolean("sms.isSend"); // 读配置文件中,是否发送邮件 if (ConfigManager.getInstance().containsKey("sms.isSend") && IsSendSMS) { SpringSendSMS(content); } SpringSendTextMail(content); }
private void organMailContent() { mailSender.setHost(ConfigManager.getInstance().getString("mail.host")); mailSender.setPort(ConfigManager.getInstance().getInt("mail.port", 25)); mailSender.setUsername(ConfigManager.getInstance().getString("mail.username")); mailSender.setPassword(ConfigManager.getInstance().getString("mail.password")); mailSender.setDefaultEncoding("utf-8"); log.info( "HOST>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>mailSender.getHost()=" + mailSender.getHost() + ",mailSender.getPort()=" + mailSender.getPort()); Properties props = new Properties(); props.setProperty("mail.smtp.auth", "true"); props.setProperty("mail.smtp.timeout", "0"); mailSender.setJavaMailProperties(props); this.setMailSender(mailSender); }
@Override public void FSendMail() throws MailException, SQLException { log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"); log.info("infoDao-----------=" + sendInfoDao); List<TSendInfoBO> lists = sendInfoDao.findAllPedding(); if (lists.size() > 0) { SendMailContent content; for (TSendInfoBO tSendInfoBO : lists) { content = new SendMailContent(); content.setToMail(tSendInfoBO.getReceiveAddress()); content.setFromMail(ConfigManager.getInstance().getString("mail.from")); if (tSendInfoBO.getState() == 1) { content.setSubject("审核不通过"); // 邮件内容 to fix bug 2495 content.setSendText(setMailMessage(tSendInfoBO)); // content.setSendText("您好,您的订单《" + // tSendInfoBO.getOrderCode() + "》没有通过审核,不通过理由《" + // tSendInfoBO.getApproveReason() + "》。"); if (ConfigManager.getInstance().containsKey("sms.audit.order.no.text")) { content.setSendSmsText( String.format( ConfigManager.getInstance().getString("sms.audit.order.no.text"), tSendInfoBO.getOrderCode(), tSendInfoBO.getApproveReason())); } } else if (tSendInfoBO.getState() == 2) { // bugid = 0001707 // 查询结果集中添加 o.TYPE 字段 : // 订单类型;1:新申请;2:修改申请;3:删除申请 int type = tSendInfoBO.getType(); String desc = ""; if (type == 1) { desc = "已经审核通过,请等待开通使用,谢谢。"; if (ConfigManager.getInstance().containsKey("sms.audit.order.pass.text1")) { content.setSendSmsText( String.format( ConfigManager.getInstance().getString("sms.audit.order.pass.text1"), tSendInfoBO.getOrderCode())); } } else if (type == 3) { // to fix bug 2160 desc = "退订审核已通过,服务已关闭,谢谢。"; if (ConfigManager.getInstance().containsKey("sms.audit.order.pass.text3")) { content.setSendSmsText( String.format( ConfigManager.getInstance().getString("sms.audit.order.pass.text3"), tSendInfoBO.getOrderCode())); } } else if (type == 2) { desc = "修改审核已通过,请等待开通使用,谢谢。"; if (ConfigManager.getInstance().containsKey("sms.audit.order.pass.text2")) { content.setSendSmsText( String.format( ConfigManager.getInstance().getString("sms.audit.order.pass.text2"), tSendInfoBO.getOrderCode())); } } content.setSubject("审核通过"); // 邮件内容 to fix bug 2495 content.setSendText(setMailMessage(tSendInfoBO)); // content.setSendText("您好,您的订单《" + // tSendInfoBO.getOrderCode() + "》" + desc); } else { continue; } TUserBO user = userDao.findUserByOrderId(tSendInfoBO.getOrderId()); if (user == null) { continue; } content.setToMobile(user.getMobile()); if (StringUtils.isNotEmpty(content.getSendText())) { this.sendMail(content); } else { return; } } sendInfoDao.updateSendInfo(lists); } }