问题描述
我们有一个关于 Alfresco 5.2 的问题 使用 javascript (API),我们想为我们正在开发的 CronJobs 发送一些电子邮件。 我们已经看到,如果我们使用“mail.parameters.to_many”,我们就无法发送“CC”。
我们需要发送
收件人:“email1@xxx.com”、“email2@xxx.com”
抄送:“email3@xxx.com”
如果我们使用:
mail.parameters.to = "email1@xxx.com"
mail.parameters.cc = "email3@xxx.com"
我们正确地收到了“to”和“CC”
但是如果我们使用:
mail.parameters.to_many = ["email1@xxx.com","email2@xxx.com"]
mail.parameters.cc = "email3@xxx.com"
我们在“to”中收到“email1@xxx.com”、“email2@xxx.com”但“CC”为空。
如何使用“抄送”向“收件人”发送多封电子邮件? 带有“to”和“CC”的示例:
var subj= "prueva de multiples";
var mail = actions.create("mail");
mail.parameters.to ="email1@xxx.com";
mail.parameters.cc = "email3@xxx.com";
mail.parameters.subject = subj;
mail.parameters.from = "serverMail.com";
mail.parameters.text = "This test is OK";
mail.executeAsynchronously(node);
示例 2:
var subj= "prueva de multiples";
var mail = actions.create("mail");
var emails = ["email1@xxx.com","email2@xxx.com","email3@xxx.com"];
mail.parameters.to_many = emails;
mail.parameters.cc = ""email4CC@xxx.com";
mail.parameters.subject = subj;
mail.parameters.from = "serverMail.com";
mail.parameters.text = "This test is not Ok";
mail.executeAsynchronously(node);
(发送“to_many”,但“CC”不发送)
我们想在“to”中发送多封电子邮件,在“CC”中发送多封。
对我们来说最重要的是能够发送一个“to”和多个“CC”
谢谢各位
解决方法
我查看了 MailActionExecuter 的源代码,在我看来,只有在设置了 TO(而不是 TO_MANY)时才使用 CC 参数:
// set recipient
String to = (String)ruleAction.getParameterValue(PARAM_TO);
String toRecipients = null;
if (to != null && to.length() != 0)
{
messageRef[0].setTo(to);
toRecipients = to;
// Note: there is no validation on the username to check that it actually is an email address.
// TODO Fix this.
Serializable ccValue = (String)ruleAction.getParameterValue(PARAM_CC);
基于此,我认为您不能将 TO_MANY 与 CC 结合使用。
您始终可以编写自己的操作,并让它按照您的需要工作。您可以从 MailActionExecuter 源开始以节省一些时间。