public void CreateList(MailList list) { try { string domain = GetDomainName(list.Name); string account = GetAccountName(list.Name); svcMailListAdmin lists = new svcMailListAdmin(); PrepareProxy(lists); GenericResult result = lists.AddList(AdminUsername, AdminPassword, domain, account, list.ModeratorAddress, list.Description ); if (!result.Result) throw new Exception(result.Message); List<string> settings = new List<string>(); settings.Add(string.Concat("description=", list.Description)); settings.Add(string.Concat("disabled=", !list.Enabled)); settings.Add(string.Concat("moderator=", list.ModeratorAddress)); settings.Add(string.Concat("password="******"requirepassword="******"whocanpost=anyone"); break; case PostingMode.MembersCanPost: settings.Add("whocanpost=subscribersonly"); break; case PostingMode.ModeratorCanPost: settings.Add("whocanpost=moderator"); break; } settings.Add(string.Concat("prependsubject=", list.EnableSubjectPrefix)); settings.Add(string.Concat("maxmessagesize=", list.MaxMessageSize)); settings.Add(string.Concat("maxrecipients=", list.MaxRecipientsPerMessage)); settings.Add(string.Concat("subject=", list.SubjectPrefix)); switch (list.ReplyToMode) { case ReplyTo.RepliesToList: settings.Add("replytolist=true"); break; } result = lists.SetRequestedListSettings(AdminUsername, AdminPassword, domain, account, settings.ToArray() ); if (!result.Result) throw new Exception(result.Message); if (list.Members.Length > 0) { result = lists.SetSubscriberList(AdminUsername, AdminPassword, domain, account, list.Members ); if (!result.Result) throw new Exception(result.Message); } } catch (Exception ex) { throw new Exception("Couldn't create mail list.", ex); } }