Ejemplo n.º 1
0
        public virtual MailList GetList(string listName)
        {
            try
            {
                WebsitePanelMailListAdmin svcLists = new WebsitePanelMailListAdmin();
                PrepareProxy(svcLists);

                MailingListResult result = svcLists.GetMailingList(AdminUsername, AdminPassword, listName);

                if (!result.Result)
                    throw new Exception(result.Message);

                MailList item = new MailList();
                item.Description = result.MailingList.Description;
                item.EnableSubjectPrefix = result.MailingList.EnableSubjectPrefix;
                item.SubjectPrefix = result.MailingList.SubjectPrefix;
                item.Enabled = true;
                item.MaxMessageSize = result.MailingList.MaxMessageSize;
                item.MaxRecipientsPerMessage = result.MailingList.MaxRecipientsPerMessage;
                item.Members = result.MailingList.Members ?? new string[] { };
                item.Moderated = !String.IsNullOrEmpty(result.MailingList.ModeratorAddress);
                item.ModeratorAddress = result.MailingList.ModeratorAddress;
                item.Name = result.MailingList.Name;
                item.Password = result.MailingList.Password;
                item.RequirePassword = result.MailingList.RequirePassword;

                // post mode
                PostingMode postMode = PostingMode.AnyoneCanPost;
                if (result.MailingList.PostingMode == MailListPostOptions.ModeratorOnly)
                    postMode = PostingMode.ModeratorCanPost;
                else if (result.MailingList.PostingMode == MailListPostOptions.SubscribersOnly)
                    postMode = PostingMode.MembersCanPost;
                item.PostingMode = postMode;
                item.ReplyToMode = result.MailingList.ReplyToList ? ReplyTo.RepliesToList : ReplyTo.RepliesToSender;

                return item;
            }
            catch (Exception ex)
            {
                throw new Exception("Could not get mail list", ex);
            }
        }