0

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

提前致谢!

最好的,D

附加代码:

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

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

此函数以以下行结束:

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

这是我需要发送电子邮件以及与“开箱即用”Alfresco 事件无关的非常具体的事件的方式。

4

2 回答 2

3

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

代替

 mailAction.execute(node);

你改为

 mailAction.executeAsynchronously(node);

就是这样!有关您可以在 JavaScript 中执行哪些操作的更多信息,请查看wiki 上的文档,或者只需阅读ScriptAction 源代码

于 2012-09-06T16:30:51.723 回答
1

你应该创建一个规则,有两种方法,我前段时间在我的个人博客上写下了,很抱歉做这种广告..这里是链接: 预定的自定义操作 Alfresco。这适用于您希望在 CRON 基础上发送邮件的情况。否则,如果您想在存储库中发生某些事情时发送邮件,那么您可以按照这些简单的步骤创建规则。创建内容规则 Alfresco。让我知道是否有帮助。

于 2012-09-05T09:17:11.460 回答