Как отправить электронную почту в Alfresco 4

Я новичок в Alfresco (версия 4), и я хотел бы создать веб-скрипт (фактически lib.js) для отправки электронной почты, который имеет функцию со следующей подписью:

function sendMail(to, subject, templatePath, templateArgs )

Эта функция будет вызываться из других веб-скриптов при выполнении некоторых условий. Я нашел такой скрипт:

var mail = actions.create("mail");
mail.parameters.to = "[email protected]";
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, которую можно импортировать и использовать для отправки различных электронных писем?

  • Если можно, то где найти ссылку на действия (что импортировать в начало файла)?

  • Что я должен указать в качестве аргумента для функции mail.execute?


person Draško    schedule 22.08.2012    source источник


Ответы (1)


mail.execute - правило "против". Это означает, что код просит вас выполнить функцию для узла на открытом воздухе. Итак, когда вы отправляете электронное письмо при загрузке документа, 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();
person Teqnology    schedule 31.08.2012