|  | @ -5,6 +5,7 @@ import com.yihu.jw.base.service.saas.SaasService;
 | 
	
		
			
				|  |  | import com.yihu.jw.base.service.saas.SaasTypeDictService;
 | 
	
		
			
				|  |  | import com.yihu.jw.base.service.user.UserService;
 | 
	
		
			
				|  |  | import com.yihu.jw.base.util.ErrorCodeUtil;
 | 
	
		
			
				|  |  | import com.yihu.jw.base.util.SendEmailUtils;
 | 
	
		
			
				|  |  | import com.yihu.jw.base.util.ValidateUtil;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.base.saas.BaseEmailTemplateConfigDO;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.base.saas.SaasDO;
 | 
	
	
		
			
				|  | @ -155,23 +156,15 @@ public class RegisterEndpoint extends EnvelopRestEndpoint {
 | 
	
		
			
				|  |  |     @PostMapping(value = BaseRequestMapping.RegisterSaas.SEND_EMAIL)
 | 
	
		
			
				|  |  |     @ApiOperation(value = "邮件发送")
 | 
	
		
			
				|  |  |     public Envelop send(@ApiParam(name = "email", value = "邮箱地址", required = true)
 | 
	
		
			
				|  |  |                          @RequestParam String email) throws Exception {
 | 
	
		
			
				|  |  |                         @RequestParam String email) throws Exception {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if(!ValidateUtil.isValidEmail(email)){
 | 
	
		
			
				|  |  |         if (!ValidateUtil.isValidEmail(email)) {
 | 
	
		
			
				|  |  |             return failed(errorCodeUtil.getErrorMsg(BaseErrorCode.Saas.EMAIL_IS_NOT_FORMAT), Envelop.class);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         //建立邮件消息
 | 
	
		
			
				|  |  |         SimpleMailMessage mainMessage = new SimpleMailMessage();
 | 
	
		
			
				|  |  |         //发送者
 | 
	
		
			
				|  |  | //        String nick="";
 | 
	
		
			
				|  |  | //        try{
 | 
	
		
			
				|  |  | //            nick=javax.mail.internet.MimeUtility.encodeText("厦门i健康");
 | 
	
		
			
				|  |  | //        }catch(UnsupportedEncodingException e){
 | 
	
		
			
				|  |  | //            e.printStackTrace();
 | 
	
		
			
				|  |  | //        }
 | 
	
		
			
				|  |  | //        mainMessage.setFrom(new InternetAddress(nick+" <"+"763558454@qq.com"+">"));
 | 
	
		
			
				|  |  |         mainMessage.setFrom(username);
 | 
	
		
			
				|  |  | //        mainMessage.setFrom(nick+"<"+username+">");
 | 
	
		
			
				|  |  |         //接收者
 | 
	
		
			
				|  |  |         mainMessage.setTo(email);
 | 
	
		
			
				|  |  |         //发送的标题
 | 
	
	
		
			
				|  | @ -179,21 +172,21 @@ public class RegisterEndpoint extends EnvelopRestEndpoint {
 | 
	
		
			
				|  |  |         BaseEmailTemplateConfigDO emailTemplateConfigDO = emailTemplateConfigDao.findByTemplateName("租户注册-验证码");
 | 
	
		
			
				|  |  |         StringBuilder content = null;
 | 
	
		
			
				|  |  |         String captcha = String.valueOf(Math.random()).substring(2, 8);
 | 
	
		
			
				|  |  |         if(emailTemplateConfigDO == null){
 | 
	
		
			
				|  |  |         if (emailTemplateConfigDO == null) {
 | 
	
		
			
				|  |  |             //发送的内容
 | 
	
		
			
				|  |  |             content =  new StringBuilder("您好!\n感谢您注册健康之路城市i健康。\n");
 | 
	
		
			
				|  |  |             content = new StringBuilder("您好!\n感谢您注册健康之路城市i健康。\n");
 | 
	
		
			
				|  |  |             content.append("您的验证码是:").append(captcha);
 | 
	
		
			
				|  |  |             content.append("。 (验证码10分钟内有效)");
 | 
	
		
			
				|  |  |         }else {
 | 
	
		
			
				|  |  |         } else {
 | 
	
		
			
				|  |  |             //发送的内容
 | 
	
		
			
				|  |  |             content =  new StringBuilder(emailTemplateConfigDO.getFirst());
 | 
	
		
			
				|  |  |             content = new StringBuilder(emailTemplateConfigDO.getFirst());
 | 
	
		
			
				|  |  |             content.append("\n").append(emailTemplateConfigDO.getKeyword1()).append("\n")
 | 
	
		
			
				|  |  |                 .append(emailTemplateConfigDO.getKeyword2()).append(captcha)
 | 
	
		
			
				|  |  |                 .append(emailTemplateConfigDO.getKeyword3()).append("\n")
 | 
	
		
			
				|  |  |                 .append(emailTemplateConfigDO.getKeyword5()).append(emailTemplateConfigDO.getUrl())
 | 
	
		
			
				|  |  |                 .append("\n").append("\n").append(emailTemplateConfigDO.getRemark());
 | 
	
		
			
				|  |  |                     .append(emailTemplateConfigDO.getKeyword2()).append(captcha)
 | 
	
		
			
				|  |  |                     .append(emailTemplateConfigDO.getKeyword3()).append("\n")
 | 
	
		
			
				|  |  |                     .append(emailTemplateConfigDO.getKeyword5()).append(emailTemplateConfigDO.getUrl())
 | 
	
		
			
				|  |  |                     .append("\n").append("\n").append(emailTemplateConfigDO.getRemark());
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         mainMessage.setSubject("健康之路城市i健康");
 | 
	
		
			
				|  |  |         mainMessage.setSubject("租户注册验证码");
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         mainMessage.setText(content.toString());
 | 
	
		
			
				|  |  |         jms.send(mainMessage);
 | 
	
	
		
			
				|  | @ -204,79 +197,26 @@ public class RegisterEndpoint extends EnvelopRestEndpoint {
 | 
	
		
			
				|  |  |     @PostMapping(value = "/testSendEmailMethod")
 | 
	
		
			
				|  |  |     @ApiOperation(value = "测试邮件发送")
 | 
	
		
			
				|  |  |     public Envelop testSendEmailMethod(@ApiParam(name = "email", value = "邮箱地址", required = true)
 | 
	
		
			
				|  |  |                         @RequestParam String email) throws Exception {
 | 
	
		
			
				|  |  |                                        @RequestParam String email) throws Exception {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if(!ValidateUtil.isValidEmail(email)){
 | 
	
		
			
				|  |  |         if (!ValidateUtil.isValidEmail(email)) {
 | 
	
		
			
				|  |  |             return failed(errorCodeUtil.getErrorMsg(BaseErrorCode.Saas.EMAIL_IS_NOT_FORMAT), Envelop.class);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         // 1.创建一个程序与邮件服务器会话对象 Session
 | 
	
		
			
				|  |  |         Properties props = new Properties();
 | 
	
		
			
				|  |  |         props.setProperty("mail.transport.protocol", "SMTP");// 连接协议
 | 
	
		
			
				|  |  |         props.setProperty("mail.smtp.host", "smtp.163.com");// 连接协议
 | 
	
		
			
				|  |  |         props.setProperty("mail.smtp.port", "25");// 连接协议
 | 
	
		
			
				|  |  |         // 指定验证为true
 | 
	
		
			
				|  |  |         props.setProperty("mail.smtp.auth", "true");
 | 
	
		
			
				|  |  |         props.setProperty("mail.smtp.timeout","1000");
 | 
	
		
			
				|  |  |         // 验证账号及密码,密码需要是第三方授权码
 | 
	
		
			
				|  |  |         Authenticator auth = new Authenticator() {
 | 
	
		
			
				|  |  |             public PasswordAuthentication getPasswordAuthentication(){
 | 
	
		
			
				|  |  |                 return new PasswordAuthentication(username, "xmijk181016jkzl");
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         };
 | 
	
		
			
				|  |  |         Session session = Session.getInstance(props, auth);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         // 2.创建一个Message,它相当于是邮件内容
 | 
	
		
			
				|  |  |         MimeMessage message = new MimeMessage(session);
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             //防止成为垃圾邮件,披上outlook的马甲
 | 
	
		
			
				|  |  | //            message.addHeader("X-Mailer","Microsoft Outlook Express 6.00.2900.2869");
 | 
	
		
			
				|  |  |             message.addHeader("X-Priority", "3");
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             message.addHeader("X-MSMail-Priority", "Normal");
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             message.addHeader("X-Mailer", "Microsoft Outlook Express 6.00.2900.2869");   //本文以outlook名义发送邮件,不会被当作垃圾邮件
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             message.addHeader("X-MimeOLE", "Produced By Microsoft MimeOLE V6.00.2900.2869");
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             message.addHeader("ReturnReceipt", "1");
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             // 设置发送者
 | 
	
		
			
				|  |  |             message.setFrom(new InternetAddress(username));
 | 
	
		
			
				|  |  |             // 设置发送方式与接收者
 | 
	
		
			
				|  |  |             message.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(email));
 | 
	
		
			
				|  |  |             // 设置主题
 | 
	
		
			
				|  |  |             message.setSubject("健康之路城市i健康");
 | 
	
		
			
				|  |  | //            mainMessage.setSubject("租户注册-验证码");
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             //创建消息主体
 | 
	
		
			
				|  |  |             MimeBodyPart messageBodyPart = new MimeBodyPart();
 | 
	
		
			
				|  |  |             String subject = "租户注册验证码";
 | 
	
		
			
				|  |  |             //发送的内容
 | 
	
		
			
				|  |  |             String captcha = String.valueOf(Math.random()).substring(2, 8);
 | 
	
		
			
				|  |  |            StringBuilder content =  new StringBuilder("您好!\n感谢您注册健康之路城市i健康。\n");
 | 
	
		
			
				|  |  |             StringBuilder content = new StringBuilder("您好!\n感谢您注册健康之路城市i健康。\n");
 | 
	
		
			
				|  |  |             content.append("您的验证码是:").append(captcha);
 | 
	
		
			
				|  |  |             content.append("。 (验证码10分钟内有效)");
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             messageBodyPart.setText(content.toString());
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             // 创建多重消息
 | 
	
		
			
				|  |  |             Multipart multipart=new MimeMultipart();
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             multipart.addBodyPart(messageBodyPart);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             // 设置邮件消息发送的时间
 | 
	
		
			
				|  |  |             message.setSentDate(Calendar.getInstance().getTime());
 | 
	
		
			
				|  |  |             // 设置内容
 | 
	
		
			
				|  |  |             message.setContent(multipart, "text/html;charset=utf-8");
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             // 3.创建 Transport用于将邮件发送
 | 
	
		
			
				|  |  |             Transport.send(message);
 | 
	
		
			
				|  |  |         }catch (Exception e){
 | 
	
		
			
				|  |  |             SendEmailUtils.mimeMessage(email, content.toString(), subject);
 | 
	
		
			
				|  |  |         } catch (Exception e) {
 | 
	
		
			
				|  |  |             e.printStackTrace();
 | 
	
		
			
				|  |  |             return failed(e.getMessage(),ObjEnvelop.class);
 | 
	
		
			
				|  |  |             return failed(e.getMessage(), ObjEnvelop.class);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return  success("success",true);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return success("success", true);
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | }
 |