public void UpdateWebMailDomain() { try { string domainName = textDomainName.Value; string incomingMail = txtIncomingMail.Value; string outgoingMail = txtOutgoingMail.Value; int domainID = Int32.Parse(hidWebMailDomainID.Value); if (!AdminPanelUtils.IsSuperAdmin(Page.Session, (Page as DefaultPage).Settings)) { if (!Subadmin.IsSubadminDomain(int.Parse(Session["AdminID"].ToString()), domainID)) { return; } } bool useSmtpAuth = intReqSmtpAuthentication.Checked; int incomingPort = 0; int.TryParse(intIncomingMailPort.Value, out incomingPort); int outgoingPort = 0; int.TryParse(intOutgoingMailPort.Value, out outgoingPort); IncomingMailProtocol mail_protocol = IncomingMailProtocol.Pop3; switch (intIncomingMailProtocol.SelectedIndex) { case 0: mail_protocol = IncomingMailProtocol.Pop3; break; case 1: mail_protocol = IncomingMailProtocol.Imap4; break; case 2: mail_protocol = IncomingMailProtocol.WMServer; break; } Domain dom = Domain.GetDomain(domainID); dom.Name = domainName; dom.MailIncomingProtocol = mail_protocol; dom.MailIncomingHost = incomingMail; dom.MailIncomingPort = incomingPort; dom.MailOutgoingHost = outgoingMail; dom.MailOutgoingPort = outgoingPort; dom.MailOutgoingAuthentication = useSmtpAuth; dom.Global_addr_book = false; dom.Save(); } catch (Exception error) { Log.WriteException(error); AdminPanelUtils.SetPageErrorMessage(this.Page, (error.InnerException != null ? error.InnerException.Message : error.Message)); } }
protected void Enter_OnClick(object sender, EventArgs e) { AdminPanelSettings apSettings = (Page as DefaultPage).Settings; if ((apSettings.User != LoginID.Value) || (apSettings.Pass != PasswordID.Value)) { try { Subadmin adm = Subadmin.GetSubadmin(LoginID.Value); if (adm != null) { if (PasswordID.Value != adm.Password) { _errorMessage = "Wrong login and/or password. Authentication failed."; _errorClass = "wm_login_error"; return; } else { AdminPanelUtils.SaveState("AUTH", true, Page.Session); AdminPanelUtils.SaveState("Admin", LoginID.Value, Page.Session); AdminPanelUtils.SaveState("AdminID", adm.ID, Page.Session); Response.Redirect("default.aspx", false); } } } catch { } _errorMessage = "Wrong login and/or password. Authentication failed."; _errorClass = "wm_login_error"; } else { AdminPanelUtils.SaveState("AUTH", true, Page.Session); AdminPanelUtils.SaveState("Admin", LoginID.Value, Page.Session); Response.Redirect("default.aspx", false); } }
public DataTable LoadDomains() { DomainCollection domColl = null; XMDomainCollection xmDomains = new XMDomainCollection(); DataTable domTable = new DataTable(); domTable.Columns.Add("id", typeof(string)); domTable.Columns.Add("name", typeof(string)); domTable.Columns.Add("type", typeof(string)); // xmail if (_isServerExist && AdminPanelUtils.IsSuperAdmin(Page.Session, (Page as DefaultPage).Settings)) { xmDomains = XMDomain.GetDomains(); XMDomainCollection xmDomsCust = XMDomain.GetCustomDomainins(); xmDomains.Add(xmDomsCust); } // webmail if (_isWebMailExist) { try { if (AdminPanelUtils.IsSuperAdmin(Page.Session, (Page as DefaultPage).Settings)) { if (_isServerExist) { domColl = Domain.GetDomains(); } else { domColl = Domain.GetDomains(new short[] { (short)IncomingMailProtocol.Pop3, (short)IncomingMailProtocol.Imap4 }); } } else { domColl = Subadmin.GetDomains(adminID); } foreach (XMDomain xmDom in xmDomains) { Domain dom = domColl.GetItem(xmDom.Name); if (dom == null) { WebmailSettings settings = new WebMailSettingsCreator().CreateWebMailSettings(); Domain new_dom = new Domain(0, xmDom.Name, IncomingMailProtocol.WMServer, settings.WmServerHost, 143, settings.WmServerHost, settings.XMailSmtpPort, false); new_dom.Save(); xmDom.Type = AdminPanelConstants.UserType.xma; } } foreach (Domain dom in domColl) { XMDomain xmDomain = xmDomains.GetItem(dom.Name); if (xmDomain != null) { xmDomains.Remove(xmDomain); xmDomains.Add(new XMDomain(dom.Name, dom.Name, dom.MailIncomingProtocol == IncomingMailProtocol.WMServer ? AdminPanelConstants.UserType.xma : AdminPanelConstants.UserType.wm)); } else { xmDomains.Add(new XMDomain(dom.Name, dom.Name, dom.MailIncomingProtocol == IncomingMailProtocol.WMServer ? AdminPanelConstants.UserType.xma : AdminPanelConstants.UserType.wm)); if (_isServerExist && dom.MailIncomingProtocol == IncomingMailProtocol.WMServer) { XMDomain.AddDomain(dom.Name); } } } foreach (XMDomain xmDomain in xmDomains) { domTable.Rows.Add(xmDomain.Name, xmDomain.Name, xmDomain.Type); } } catch (Exception ex) { AdminPanelUtils.SetPageErrorMessage(this.Page, (ex.InnerException != null ? ex.InnerException.Message : ex.Message)); Log.WriteException(ex); } } return(domTable); }