【问题标题】:zimbra user account creation using SOAP/REST使用 SOAP/REST 创建 zimbra 用户帐户
【发布时间】:2015-03-17 10:00:01
【问题描述】:

当用户在我的应用程序中注册时,我想创建一个 Zimbra 帐户。 在 Zimbra 中是否有任何 SOAP/REST 调用来完成这项工作。

如果有其他方法请告诉我。

【问题讨论】:

    标签: zimbra


    【解决方案1】:

    SOAP 帐户创建请求应如下所示:

    <CreateAccountRequest name="{account-name}" password="{account-password}"> ## CreateAccountRequest
        (<a n="{key}" /> ## Attr)*
    </CreateAccountRequest>
    

    name 包含完整的 Zimbra 帐户名称:uid@domain.com

    如果您不指定password,用户将无法登录。(密码可以稍后设置)。

    a 标签允许你发送一些可选属性。

    示例:

    <CreateAccountRequest xmlns="urn:zimbraAdmin">
        <name>username@domain.com</name>
        <password>foobar</password>
        <a n="givenName">John</a>
        <a n="sn">Doe</a>
        <a n="displayName">John Doe</a>
        <a n="zimbraCOSId">The CoS id comes here.</a>
    </CreateAccountRequest>
    

    文档: Zimbra SOAP requests

    【讨论】:

    【解决方案2】:

    我需要在我的 NodeJS 应用程序中创建帐户和域,因此我为此实现了一个小型 nodeJS 库(zimbra-client)https://github.com/grishick/zimbra-client

    创建帐户示例:

    zimbra = require("zimbra-client");
    zimbra.getAuthToken("localhost", "admin", "test123",
        function(err, authToken) {
            if(err != null) {
                console.log(err.message);
            }
            zimbra.createAccount("localhost",{sn:"Solovyev",givenName:"Greg",displayName:"Greg Solovyev",password:"test123",name:"greg@example.com"},authToken,
                function(err1,accountObj) {
                    if(err1 != null) {
                        if(err1.code == "account.ACCOUNT_EXISTS") {
                            console.log("an account with this name already exists");
                        } else {
                            console.log(err1.message);
                        }
                    } else {
                        console.log("new account ID" + accountObj.id);
                    }
                }
            );
        })
    

    【讨论】:

      【解决方案3】:

      您询问了任何其他方式。 还有另一种方法,从 zimbra 服务器上的命令行。

      zmprov ca user@example.com somepassword
      

      如果您可以在运行 zimra 的同一机器上运行您的应用程序,那么您可以使用此界面。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-29
        • 1970-01-01
        • 2020-10-15
        • 2020-06-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多