页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

(本文档仅供参考)

问题说明

如何在计划任务实现通过邮件定期发送文本信息给相关人员,不需要任何附件,只是一个文本链接。

        如:王先生,请及时填报《XXXXX报告汇总表》,地址:http://localhost:18050/smartbi/vision/index.jsp

解决方案

可以先新建一个发送邮件的任务,查看运行脚本获取相关代码进行修改,具体代码可以参考以下:

代码块
languagejs
linenumberstrue
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.org.apache.commons.lang);
importPackage(Packages.org.apache.commons.mail);
importPackage(Packages.smartbi.scheduletask.component);
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 emailSSLEnabled = null;
var emailTLSEnabled = null;
var port = "";

var encryptPassword = "";

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_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();
}else if (config.getKey().equals("EMAIL_USER_PASSWORD_ENCRYPT")) {
encryptPassword = config.getValue();
} 
}
}
if ("true".equals(encryptPassword)) {
password = Packages.smartbi.util.AESCryption.decrypt(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("zhangxueqiong@smartbi.com.cn");//接收邮箱地址
multiPartEmail.setCharset("GBK");//邮件内容字符集
multiPartEmail.setSubject("请及时填报《XXX营业部销售汇总表》");//邮件标题

var html ="<a href='http://localhost:18080/smartbi/vision/xxx.jsp'>请及时填报《XXX营业部销售汇总表》,地址:http://localhost:18080/smartbi/vision/xxx.jsp</a>";

//发送邮件
multiPartEmail.setHtmlMsg(html);
multiPartEmail.send();