1

我是 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 函数的参数?

4

1 回答 1

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();
于 2012-08-31T11:23:09.537 回答