我是Alfresco的新手(版本4),我想创建webscript(实际上是lib.js),用于发送具有以下签名功能的电子邮件:
function sendMail(to, subject, templatePath, templateArgs )
当满足某些条件时,将从其他webscript中调用此函数。我找到了这样的脚本:
var mail = actions.create("mail");
mail.parameters.to = "receiver_email@some.domain";
mail.parameters.subject = "Test subject";
mail.parameters.template = companyhome.childByNamePath("Data Dictionary/Email Templates/Workflow Notification/wf-email.html.ftl");
var templateArgs = new Array();
templateArgs['workflowTitle'] = "workflowTitle";
templateArgs['workflowPooled'] = true;
templateArgs['workflowDescription'] = "workflowDesc";
templateArgs['workflowId'] = "workflowId";
var templateModel = new Array();
templateModel['args'] = templateArgs;
mail.parameters.template_model = templateModel;
mail.execute(search.findNode("workspace://SpacesStore/9e15aaac-b30b-4266-984f-21fe273a6113"));
但我不知道如何把它放在我的代码中,因为我不知道三件事:
我是否可以在我的场景中使用此代码,即制作js lib 哪些可以导入并用于发送各种电子邮件?
如果可以,我在哪里可以找到对行动的引用(在文件开头要导入什么内容)?
我应该把什么作为mail.execute函数的参数?
答案 0 :(得分:2)
mail.execute是“反对”规则。这意味着代码要求您对alfresco中的节点执行该功能。因此,当您在上传文档时发送电子邮件时,mail.execute将使用新创建的节点,因此您可以在邮件中附加指向新创建文件的链接。
无论如何,您可以简化这一点,并创建一个规则,在创建/更新某些内容时触发它们,并使用sendmailaction.js作为您上面发布的内容,自动发送给您想要的用户。否则你可以创建这样的东西:
function sendMail()
{
var mail = actions.create("mail");
mail.parameters.to = bpm_groupAssignees.properties["cm:email"];
mail.parameters.subject = "New File uplodaded with name " + document.name;
mail.parameters.from = initiator.properties["cm:email"];
mail.parameters.text = "Kindly approve the document: " + document.name;
mail.execute(document);
}
sendMail();