1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
<?xml version="1.0" encoding="UTF-8"?>
<a:service xmlns:s="leaf.plugin.script" xmlns:dr="leaf.plugin.excelreport" xmlns:mail="leaf.plugin.mail" xmlns:msg="leaf.application.features.msg" xmlns:t="uncertain.composite.transform" xmlns:p="uncertain.proc" xmlns:a="http://www.leaf-framework.org/application" xmlns:excel="leaf.application.task.excel" trace="true">
<a:init-procedure>
<a:model-update model="psr.PSR1010.psr_check_send_mail"/>
<s:server-script><![CDATA[
importPackage(Packages.leaf.plugin.mail);
importPackage(Packages.uncertain.proc);
importPackage(Packages.leaf.plugin.script.scriptobject);
// 更新发送信息
function after_send_mail(p_error_message) {
var send_mail_update_bm = $bm('sys.sys_send_mail');
send_mail_update_bm.update({
mailing_list_id: $ctx.parameter.mailing_list_id,
error_message:p_error_message
});
}
var mailing_list_id = $ctx.parameter.mailing_list_id;
var error_message;
try {
var sm = new SendMail($instance('uncertain.ocm.IObjectRegistry'));
// 获取附件
var attachment_batch_dl = $bm('sys.sys_send_mail'); //获取附件的bm
var result = attachment_batch_dl.queryAsMap({ // 参数
mailing_list_id: $ctx.parameter.mailing_list_id
});
var attachments = [];
var j = 0;
var arr = result.getChildren();
if (arr.length > 0) {
if (arr[0].body) { // 邮件内容
sm.setContent(arr[0].body);
}
if (arr[0].subject) { //邮件主题
sm.setTitle(arr[0].subject);
}
if (arr[0].mail_to) { // 收件人
sm.setTto(arr[0].mail_to);
}
if (arr[0].mail_cc) { // 抄送
sm.setCto(arr[0].mail_cc);
}
for (var i = 0;i < arr.length;i++) {
var f = arr[i];
var attachment = new Attachment();
if (f.file_path && f.file_name) {
attachment.setPath(f.file_path);
attachment.setName(f.file_name);
attachments[j] = attachment;
j++;
}
}
} else {
var mail_info = $bm('sys.zj_sys_mailing_list');
var result = mail_info.queryAsMap({ // 参数
mailing_list_id: $ctx.parameter.mailing_list_id
});
var arr_info = result.getChildren();
if (arr_info.length > 0) {
if (arr_info[0].body) { // 邮件内容
sm.setContent(arr_info[0].body);
}
if (arr_info[0].subject) { //邮件主题
sm.setTitle(arr_info[0].subject);
}
if (arr_info[0].mail_to) { // 收件人
sm.setTto(arr_info[0].mail_to);
}
if (arr_info[0].mail_cc) { // 抄送
sm.setCto(arr_info[0].mail_cc);
}
}
}
if (attachments) {
sm.setAttachments(attachments);
}
var procedureRunner = ScriptUtil.getProcedureRunner();
//发送邮件
sm.run(procedureRunner);
error_message = null;
} catch (e) {
// raise_app_error(e);
error_message = e.message;
}
// 处理发送状态
// after_send_mail(error_message);
]]></s:server-script>
</a:init-procedure>
<a:service-output/>
</a:service>