...
代码块 | ||||||
---|---|---|---|---|---|---|
| ||||||
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);
var report = null;
//定义email对象,初始化参数
var multiPartEmail = new SmartbiMultiPartEmail();
var systemConfigService = new SystemConfigService(connector);
var configList = systemConfigService.getSystemConfigs();
var mailServer = null;
var fromAddress = null;
var password = null;
var emailSSLEnabled = null;
var emailTLSEnabled = null;
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")) {
fromAddress = config.getValue();
} else if (config.getKey().equals("EMAIL_USER_PASSWORD")) {
password= config.getValue();
} else if (config.getKey().equals("EMAIL_SSL_ENABLED")) {
emailSSLEnabled = true;
} else if (config.getKey().equals("EMAIL_TLS_ENABLED")) {
emailTLSEnabled = true;
}
}
}
// System.out.println(mailServer);
// System.out.println(fromAddress);
// System.out.println(password);
multiPartEmail.setHostName(mailServer);
multiPartEmail.setAuthentication(fromAddress, password);
multiPartEmail.setFrom(fromAddress);
if(emailSSLEnabled){
multiPartEmail.setSSL(true);
}
if(emailTLSEnabled){
multiPartEmail.setTLS(true);
}
multiPartEmail.addTo("21206373@qq.com");//接收邮箱地址
//multiPartEmail.addTo("zhouyan1@smartbi.com.cn");//再添加接收邮箱地址
multiPartEmail.setCharset("GBK");//邮件内容字符集
multiPartEmail.setSubject("测试邮件");//邮个把标题
report = new SSReport(connector);
report.open("I8a87946850215270014d65ed454c1f6e"); //报表资源ID
report.setParamValue("OutputParameter.I40282124232b5300014d503ddc0b1401.p_year_curr", "2015", "2015");//设置报表的参数默认值
//report.open("I8a87946850215270014d65ed454c1f6e"); //第二报表资源ID
//report.setParamValue("OutputParameter.I40282124232b5300014d503ddc0b1401.p_year_curr", "2015", "2015");//第二报表资源设置报表的参数默认值
var pngFile = File.createTempFile("emailtask",".png");
var os = new FileOutputStream(pngFile);
report.doExport("PNG","","",os,"","","");
os.flush();
os.close();
report.close();
var fileLen = pngFile.length();
//发送邮件
var cid = multiPartEmail.embed(pngFile);
var sb = new StringBuffer();
sb.append("<html><body>length:"+ fileLen +"<img src=\"cid:"+cid+"\"></body></html>");
sb.append("\n");
var html = sb.toString();
multiPartEmail.setHtmlMsg(html);
multiPartEmail.send();
|
...