Exemplo n.º 1
0
        /// <summary>
        /// Creates a new domain in the specified folder 
        /// </summary>
        /// <param name="domain">Domain info</param>
        public virtual void CreateDomain(MailDomain domain)
        {
            try
            {
                svcDomainAdmin domains = new svcDomainAdmin();
                PrepareProxy(domains);

				
                DomainSettingsResult defaultDomainSettings = domains.GetDomainDefaults(AdminUsername, AdminPassword);

                SettingsRequestResult defaultRequestedSettings =
                    domains.GetRequestedDomainDefaults(AdminUsername, AdminPassword, new string[] { 
                        "defaultaltsmtpport",
						"defaultimapport",
						"defaultmaxaliases",
						"defaultmaxdomainaliases",
						"defaultmaxdomainsize",
						"defaultmaxdomainusers",
						"defaultmaxlists",
						"defaultmaxmailboxsize",
						"defaultmaxmessagesize",
						"defaultmaxrecipients",
						"defaultpopport",
						"defaultshowcontentfilteringmenu",
						"defaultshowdomainaliasmenu",
						"defaultshowlistmenu",
						"defaultshowspammenu",
						"defaultshowstatmenu",
						"defaultsmtpauthenticationrequired",
						"defaultsmtpport",
						"defaultbypassforwardblacklist",
						"defaultldapport",
						"defaultldapdisallowoptout",
						"defaultsharedcalendar",
						"defaultsharedcontact",
						"defaultsharedfolder",
						"defaultsharedtasks",
						"defaultsharedgal"
						});


            	string[] requestedDomainDefaults = defaultRequestedSettings.settingValues;

				//domain Path is taken from WebsitePanel Service settings

                GenericResult1 result = null;

                if (!InheritDomainDefaultLimits)
                {
                    result = domains.AddDomain(AdminUsername, AdminPassword,
                                                             domain.Name,
                                                             Path.Combine(DomainsPath, domain.Name),
                                                             SYSTEM_DOMAIN_ADMIN, // admin username
                                                             Guid.NewGuid().ToString("P"), // admin password
                                                             "Domain", // admin first name
                                                             "Administrator", // admin last name
                                                             ServerIP,
                                                             defaultDomainSettings.ImapPort,
                                                             defaultDomainSettings.PopPort,
                                                             defaultDomainSettings.SmtpPort,
                                                             domain.MaxAliases,
                                                             domain.MaxDomainSizeInMB,
                                                             domain.MaxDomainUsers,
                                                             domain.MaxMailboxSizeInMB,
                                                             domain.MaxMessageSize,
                                                             domain.MaxRecipients,
                                                             domain.MaxDomainAliases,
                                                             domain.MaxLists,
                                                             defaultDomainSettings.ShowDomainAliasMenu,// ShowDomainAliasMenu
                                                             defaultDomainSettings.ShowContentFilteringMenu,// ShowContentFilteringMenu
                                                             defaultDomainSettings.ShowSpamMenu, // ShowSpamMenu
                                                             defaultDomainSettings.ShowStatsMenu, // ShowStatsMenu
                                                             defaultDomainSettings.RequireSmtpAuthentication,
                                                             defaultDomainSettings.ShowListMenu, // ShowListMenu
                                                             defaultDomainSettings.ListCommandAddress);
                }
                else
                {
                    result = domains.AddDomain(AdminUsername, AdminPassword,
                                                             domain.Name,
                                                             Path.Combine(DomainsPath, domain.Name),
                                                             SYSTEM_DOMAIN_ADMIN, // admin username
                                                             Guid.NewGuid().ToString("P"), // admin password
                                                             "Domain", // admin first name
                                                             "Administrator", // admin last name
                                                             ServerIP,
                                                             defaultDomainSettings.ImapPort,
                                                             defaultDomainSettings.PopPort,
                                                             defaultDomainSettings.SmtpPort,
                                                             defaultDomainSettings.MaxAliases,
                                                             defaultDomainSettings.MaxDomainSizeInMB,
                                                             defaultDomainSettings.MaxDomainUsers,
                                                             defaultDomainSettings.MaxMailboxSizeInMB,
                                                             defaultDomainSettings.MaxMessageSize,
                                                             defaultDomainSettings.MaxRecipients,
                                                             defaultDomainSettings.MaxDomainAliases,
                                                             defaultDomainSettings.MaxLists,
                                                             defaultDomainSettings.ShowDomainAliasMenu,// ShowDomainAliasMenu
                                                             defaultDomainSettings.ShowContentFilteringMenu,// ShowContentFilteringMenu
                                                             defaultDomainSettings.ShowSpamMenu, // ShowSpamMenu
                                                             defaultDomainSettings.ShowStatsMenu, // ShowStatsMenu
                                                             defaultDomainSettings.RequireSmtpAuthentication,
                                                             defaultDomainSettings.ShowListMenu, // ShowListMenu
                                                             defaultDomainSettings.ListCommandAddress);
                }

                if (!result.Result)
                    throw new Exception(result.Message);
				
                // update additional settings
                result = domains.SetRequestedDomainSettings(AdminUsername, AdminPassword, domain.Name, requestedDomainDefaults);

				
                if (!result.Result)
                    throw new Exception(result.Message);
            }
            catch (Exception ex)
            {
                throw new Exception("Could not create mail domain", ex);
            }
           
        }
Exemplo n.º 2
0
		public void CreateDomain(MailDomain domain)
		{
			try
			{

				svcDomainAdmin domains = new svcDomainAdmin();
				PrepareProxy(domains);

				DomainSettingsResult defaultDomainSettings = domains.GetDomainDefaults(AdminUsername, AdminPassword);

				SettingsRequestResult defaultRequestedSettings =
					domains.GetRequestedDomainDefaults(AdminUsername, AdminPassword, new string[]
                                                                                         {
                                                                                             "defaultaltsmtpport",
                                                                                             "defaultaltsmtpportenabled",
                                                                                             "defaultautoresponderrestriction",
                                                                                             "defaultbypassgreylisting",
                                                                                             "defaultenablecatchalls",
                                                                                             "defaultenabledomainkeys",
                                                                                             "defaultenableemailreports",
                                                                                             "defaultenablepopretrieval",
                                                                                             "defaultmaxmessagesperhour",
                                                                                             "defaultmaxmessagesperhourenabled",
                                                                                             "defaultmaxsmtpoutbandwidthperhour",
                                                                                             "defaultmaxsmtpoutbandwidthperhourenabled",
                                                                                             "defaultmaxbouncesreceivedperhour",
                                                                                             "defaultmaxbouncesreceivedperhourenabled",
                                                                                             "defaultmaxpopretrievalaccounts",
                                                                                             "defaultsharedcalendar",
                                                                                             "defaultsharedcontact",
                                                                                             "defaultsharedfolder",
                                                                                             "defaultsharedgal",
                                                                                             "defaultsharednotes",
                                                                                             "defaultsharedtasks",
                                                                                             "defaultshowcalendar",
                                                                                             "defaultshowcontacts",
                                                                                             "defaultshowcontentfilteringmenu",
                                                                                             "defaultshowdomainaliasmenu",
                                                                                             "defaultshowdomainreports",
                                                                                             "defaultshowlistmenu",
                                                                                             "defaultshownotes",
                                                                                             "defaultshowspammenu",
                                                                                             "defaultshowtasks",
                                                                                             "defaultshowuserreports",
                                                                                             "defaultskin",
                                                                                             "defaultspamresponderoption",
                                                                                             "defaultspamforwardoption"
                                                                                         });

				string[] requestedDomainDefaults = defaultRequestedSettings.settingValues;

				//domain Path is taken from WebsitePanel Service settings

				GenericResult result = null;

				if (!InheritDomainDefaultLimits)
				{
					result = domains.AddDomain(AdminUsername,
											   AdminPassword,
											   domain.Name,
											   Path.Combine(DomainsPath, domain.Name),
											   SYSTEM_DOMAIN_ADMIN, // admin username
											   Guid.NewGuid().ToString("P"), // admin password
											   "Domain", // admin first name
											   "Administrator", // admin last name
											   ServerIP,
											   defaultDomainSettings.ImapPort,
											   defaultDomainSettings.PopPort,
											   defaultDomainSettings.SmtpPort,
											   domain.MaxAliases,
											   domain.MaxDomainSizeInMB,
											   domain.MaxDomainUsers,
											   domain.MaxMailboxSizeInMB,
											   domain.MaxMessageSize,
											   domain.MaxRecipients,
											   domain.MaxDomainAliases,
											   domain.MaxLists,
											   defaultDomainSettings.ShowDomainAliasMenu,
						// ShowDomainAliasMenu
											   defaultDomainSettings.ShowContentFilteringMenu,
						// ShowContentFilteringMenu
											   defaultDomainSettings.ShowSpamMenu, // ShowSpamMenu
											   defaultDomainSettings.ShowStatsMenu, // ShowStatsMenu
											   defaultDomainSettings.RequireSmtpAuthentication,
											   defaultDomainSettings.ShowListMenu, // ShowListMenu
											   defaultDomainSettings.ListCommandAddress);
				}
				else
				{
					result = domains.AddDomain(AdminUsername, AdminPassword,
											   domain.Name,
											   Path.Combine(DomainsPath, domain.Name),
											   SYSTEM_DOMAIN_ADMIN, // admin username
											   Guid.NewGuid().ToString("P"), // admin password
											   "Domain", // admin first name
											   "Administrator", // admin last name
											   ServerIP,
											   defaultDomainSettings.ImapPort,
											   defaultDomainSettings.PopPort,
											   defaultDomainSettings.SmtpPort,
											   defaultDomainSettings.MaxAliases,
											   defaultDomainSettings.MaxDomainSizeInMB,
											   defaultDomainSettings.MaxDomainUsers,
											   defaultDomainSettings.MaxMailboxSizeInMB,
											   defaultDomainSettings.MaxMessageSize,
											   defaultDomainSettings.MaxRecipients,
											   defaultDomainSettings.MaxDomainAliases,
											   defaultDomainSettings.MaxLists,
											   defaultDomainSettings.ShowDomainAliasMenu, // ShowDomainAliasMenu
											   defaultDomainSettings.ShowContentFilteringMenu, // ShowContentFilteringMenu
											   defaultDomainSettings.ShowSpamMenu, // ShowSpamMenu
											   defaultDomainSettings.ShowStatsMenu, // ShowStatsMenu
											   defaultDomainSettings.RequireSmtpAuthentication,
											   defaultDomainSettings.ShowListMenu, // ShowListMenu
											   defaultDomainSettings.ListCommandAddress);
				}
				if (!result.Result)
					throw new Exception(result.Message);


				// update additional settings
				result = domains.SetRequestedDomainSettings(AdminUsername, AdminPassword, domain.Name,
															SetMailDomainDefaultSettings(requestedDomainDefaults));

				if (!result.Result)
					throw new Exception(result.Message);
			}
			catch (Exception ex)
			{
				if (DomainExists(domain.Name))
				{
					DeleteDomain(domain.Name);
				}
				Log.WriteError(ex);
				throw new Exception("Could not create mail domain", ex);
			}
		}