public static int DeleteMailDomainPointer(int itemId, int domainId) { // check account int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo); if (accountCheck < 0) return accountCheck; // load site item MailDomain mailDomain = (MailDomain)PackageController.GetPackageItem(itemId); if (mailDomain == null) return BusinessErrorCodes.ERROR_MAIL_DOMAIN_PACKAGE_ITEM_NOT_FOUND; // load domain item DomainInfo domain = ServerController.GetDomain(domainId); if (domain == null) return BusinessErrorCodes.ERROR_DOMAIN_PACKAGE_ITEM_NOT_FOUND; // place log record TaskManager.StartTask("MAIL_DOMAIN", "DELETE_POINTER", mailDomain.Name); TaskManager.ItemId = itemId; TaskManager.WriteParameter("Domain pointer", domain.DomainName); try { // update mail aliases MailServer mail = new MailServer(); ServiceProviderProxy.Init(mail, mailDomain.ServiceId); mail.DeleteDomainAlias(mailDomain.Name, domain.DomainName); // update domain domain.MailDomainId = 0; ServerController.UpdateDomain(domain); return 0; } catch (Exception ex) { throw TaskManager.WriteError(ex); } finally { TaskManager.CompleteTask(); } }