如何使用在单击"创建用户"创建的密码后自动生成邮件。 Alfresco新用户页面中的按钮?

时间:2016-10-20 09:20:28

标签: java alfresco email-integration alfresco-share alfresco-webscripts

一旦我们点击Alfresco新用户页面中的创建用户按钮,我们如何使用新用户的密码自动生成邮件。 我们是否需要创建任何可以重定向以创建用户操作的webscript或操作,并且将自动生成相应的邮件。 请让我知道如何在创建用户按钮和发送给新用户的邮件之间建立链接。

2 个答案:

答案 0 :(得分:2)

最终露天的任何事情都是节点。用户也是露天中的一种节点。根据我的观点,最好的解决方案是创建行为并发送电子邮件。

以下是在露天实施行为的详细信息。

https://www.alfresco.com/blogs/lcabaceira/2015/04/07/alfresco-behaviours-and-policies/

这是alfresco行为的一个链接。你会在露天找到行为的多个链接。

答案 1 :(得分:1)

创建新规则:

  • Repository > User Homes文件夹
  • 何时:Items are created or enter this folder
  • 执行操作:Execute script

    if (document.isContainer && document.displayPath == "/Company Home/User Homes") {
        var owner = document.properties["cm:owner"];
        var pNode = people.getPerson(owner);
        if (pNode!=null && pNode.exists()){
    
            var userName = pNode.properties.userName;
            var email = pNode.properties.email;
            var randPassword = Math.random().toString(36).substr(2, 30)+"-"+(Date.now());
    
            people.setPassword(userName, randPassword);
            logger.debug("Invitation mail: User "+userName+" password has been changed.");
    
            var mail = actions.create("mail");
            //mail.parameters.from = "noreply@customdomain";
            mail.parameters.to = email; 
            mail.parameters.subject = "Welcome to the jungle, login: "+userName+", password: "+randPassword;
            mail.parameters.template = companyhome.childByNamePath("Data Dictionary/Email Templates/Invite Email Templates/invite_user_email.ftl");
            var templateModel = new Array();
            templateModel['newPassword'] = randPassword; // use ${newPassword} expression inside template
            mail.parameters.template_model = templateModel;
            mail.executeAsynchronously(document);
            logger.debug("Invitation mail has been sent to "+email);
        } else {
            logger.warn("Invitation mail: User not found: "+owner);
        }
    } else {
        logger.warn("Invitation mail: Document "+document.name+" / "+document.nodeRef+" is not a user home folder.");
    }
    

您可以使用How to set the Watchface in the center of watch对其进行测试,Alfresco配置:

# smtp settings
mail.host=localhost
mail.port=25
mail.protocol=smtp
mail.smtp.auth=false
# mail.smtp.timeout=30000
# mail.smtp.debug=true