在Alfresco中,当使用MailActionExecuter进行邮件通知时,如果将收件人(To)和抄送(Cc)地址添加到电子邮件正文中,会导致抄送(CC)收件人地址没有被添加到邮件中。
解决方法是在Java代码中直接将抄送(Cc)地址添加到ActionService.createAction方法的parameters参数中,而不是将它们添加到邮件正文中。
以下是一个Java工作流脚本示例代码,用于通过ActionService发送电子邮件并包含抄送(Cc)收件人。
// 获取ActionService
ActionService actionService = serviceRegistry.getActionService();
// 设置电子邮件参数
MailActionExecuter.ExecuteMailParameters params = new MailActionExecuter.ExecuteMailParameters();
params.setFrom("sender@example.com");
params.setTo("recipient@example.com");
params.setCc("ccRecipient@example.com");
params.setSubject("邮件主题");
params.setText("邮件正文");
// 创建邮件操作并执行
Action mailAction = actionService.createAction(MailActionExecuter.NAME, params);
actionService.executeAction(mailAction, null);
在以上代码示例中,我们通过params.setCc方法将抄送(Cc)收件人地址添加到邮件参数中,以确保电子邮件中包含抄送地址。这种方法比将抄送(Cc)地址添加到邮件正文中更可靠,因为在使用MailActionExecuter发送大量电子邮件时,邮件容易被标记为垃圾邮件或者不合法邮件。