Exemplo n.º 1
0
        public MailGroup ToMailGroup()
        {
            MailGroup group = new MailGroup();

            group.Name    = mailboxName;
            group.Enabled = userConfig["enabled"] == "1" ? true : false;

            TreeNode redirection = deliveryConfig.ChildNodes["redirection"];

            if (redirection != null)
            {
                TreeNode redirections = redirection.ChildNodes["redirections"];

                if (redirections != null)
                {
                    List <string> list = new List <string>();

                    foreach (TreeNode node in redirections.ChildNodes)
                    {
                        list.Add(node.NodeValue);
                    }

                    group.Members = list.ToArray();
                }
            }

            return(group);
        }
Exemplo n.º 2
0
        public void Read(MailGroup group)
        {
            userConfig["domain"]  = GetDomainName(group.Name);
            userConfig["enabled"] = group.Enabled ? "1" : "0";
            userConfig["user"]    = GetAccountName(group.Name);

            AddForwardingInfo(group.Members, true);
        }
Exemplo n.º 3
0
        public void CreateGroup(MailGroup group)
        {
            Tree       users    = AMSHelper.GetUsersConfig();
            AmsMailbox amsGroup = new AmsMailbox(group.Name);

            if (amsGroup.Load(users))
            {
                throw new Exception("Mail group is already exists.");
            }

            amsGroup.Read(group);

            if (!amsGroup.Save(users))
            {
                throw new Exception("Couldn't create a mail group.");
            }
        }
Exemplo n.º 4
0
        public void UpdateGroup(MailGroup group)
        {
            Tree       config   = AMSHelper.GetUsersConfig();
            AmsMailbox amsGroup = new AmsMailbox(group.Name);

            if (amsGroup.Load(config))
            {
                amsGroup.LoadAccountConfig();
                amsGroup.Read(group);

                if (!amsGroup.Save(config))
                {
                    throw new Exception("Couldn't update specified mail group.");
                }
            }
            else
            {
                throw new Exception("Couldn't find specified mail group.");
            }
        }