如何在alfresco 4中以背景的方式发送电子邮件?

时间:2012-09-05 08:23:09

标签: javascript email alfresco background-process

我用Javascript编写的webscript用于发送电子邮件。它工作得很好,但我想在后台发送这些电子邮件,这样行动不会减慢进一步的代码执行速度。我怎么能这样做?

提前致谢!

最佳, d

附加代码:

我创建了sendmail.lib.js,它包含在需要以下签名的js文件中:

function sendmail(to, subject, nodeRef, templatePath, templateArgs, textIfTemplateNotFound )

此功能以以下行结束:

mail.execute(search.findNode(nodeRef));

这是我发送电子邮件的方式以及与“开箱即用”的Alfresco事件无关的特定事件。

2 个答案:

答案 0 :(得分:3)

由于您正在使用Action,因此答案非常简单。你想要做的是Asynchronous Execution of your Action。然后,Alfresco会将您的操作添加到异步操作队列,并在其中一个异步线程可用时立即运行。

而不是

 mailAction.execute(node);

您改为

 mailAction.executeAsynchronously(node);

就是这样!有关使用JavaScript操作可以执行的操作的详细信息,请查看文档on the wiki,或者阅读ScriptAction source code

答案 1 :(得分:1)

你应该创建一个规则,有两种方法可以做到这一点,我在前一段时间写下来,在我的个人博客上,抱歉做这种广告......有链接: Scheduled Custom Action Alfresco。这适用于您希望在CRON基础上发送邮件的情况。否则,如果要在存储库中发生某些事情时发送邮件,则可以按照这些简单步骤创建规则。 Create Content Rule Alfresco。 如果有帮助,请告诉我。