页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。
评论: 邮箱密码加密状态下发送逻辑修改

...

代码块
languagejs
title自定义任务
linenumberstrue
 
importPackage(Packages.smartbi.sdk.service.spreadsheetreport);
importPackage(Packages.smartbi.scheduletask.task);
importPackage(Packages.smartbi.sdk.service.systemconfig);
importPackage(Packages.java.lang);
importPackage(Packages.java.util);
importPackage(Packages.java.text);
importPackage(Packages.java.io);
importPackage(Packages.org.apache.commons.lang);
importPackage(Packages.org.apache.commons.mail);
importPackage(Packages.smartbi.scheduletask.component);
importPackage(Packages.smartbi.util);
var report = null;
       //定义email对象,初始化参数
       var multiPartEmail = new SmartbiMultiPartEmail();
       var systemConfigService = new SystemConfigService(connector);
       var configList = systemConfigService.getSystemConfigs();
    
       var mailServer = null;
       var fromAddress = null;
	    var userName = null;
       var password = null;
	
    var encryptPassword = null;
    var emailSSLEnabled = null;
   	 var	 emailTLSEnabled = null;
	    var port = "";
       for (var i = 0; i < configList.size(); i++) {
       
        var config = configList.get(i);
           
            if (config!=null) {
               
                if (config.getKey().equals("EMAIL_SMTP_SERVER")) {
                    
                     mailServer = config.getValue();
               
                } else if (config.getKey().equals("EMAIL_USER_NAME")) {
                                         userName = config.getValue();
               
                } else if (config.getKey().equals("EMAIL_USER_ADDRESS")) {
                     fromAddress = config.getValue();
                } else if (config.getKey().equals("EMAIL_USER_PASSWORD")) {
                    
                     password= config.getValue();
               
                } else if (config.getKey().equals("EMAIL_USER_PASSWORD_ENCRYPT")) {
                    encryptPassword = config.getValue();
                } else if (config.getKey().equals("EMAIL_SSL_ENABLED")) {
                    if (config.getValue().equals("true")) {
                        emailSSLEnabled = true;
                    }
                } else if (config.getKey().equals("EMAIL_TLS_ENABLED")) {
                    if (config.getValue().equals("true")) {
                        emailTLSEnabled = true;
                    }
                }else if (config.getKey().equals("EMAIL_SMTP_PORT")) { 	   //端口
					
                    port = config.getValue().trim();
				}
            }
        }
   
                }
            }
        }
    if (StringUtil.equals(encryptPassword, "true")) {
        password = AESCryption.decrypt(password);
    }
    System.out.println(mailServer);
       System.out.println(fromAddress);
       System.out.println(password);
       multiPartEmail.setHostName(mailServer);
       multiPartEmail.setAuthentication(userName, password);
       multiPartEmail.setFrom(fromAddress);
    	if(emailSSLEnabled){
        multiPartEmail.setSSL(true);
        if(port != ""){
            multiPartEmail.setSslSmtpPort(port);
        }
    }
    if(emailTLSEnabled){
        multiPartEmail.setTLS(true);
    }
    if(port != "" && !emailSSLEnabled){
        multiPartEmail.setSmtpPort(port);
    }
       multiPartEmail.addTo("zhouyan@smartbi.com.cn");//接收邮箱地址
       multiPartEmail.setCharset("GBK");//邮件内容字符集
       multiPartEmail.setSubject("测试邮件");//邮件标题
 
//       var sb = new StringBuffer();
//       sb.append("<html><body><p>这是一个系统自动发送的邮件,请勿回复。</p></body></html>");
//       sb.append("\n");
  
           report = new SSReport(connector);
           report.open("I4028812115561f6c01449562ca190067"); //报表资源ID
      //report.setParamValue(String id, String value, String displayValue);//设置报表的参数默认值
           var os = new ByteArrayOutputStream();
           report.doExport("HTML","","",os,"","","");
           var html = os.toString("utf8");
           //logger.info(html);
           report.close();
         //发送邮件
       multiPartEmail.setHtmlMsg(html);
       multiPartEmail.send();
 

注:设置参数默认值可参考以下方式: