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); }
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); }
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."); } }
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."); } }