private void sslCheckBox_CheckedChanged(object sender, EventArgs e) { if (protocolComboBox.SelectedItem.ToString() == ServersList.ProtocolOption.POP3.ToString()) { portTextBox.Text = (sslCheckBox.Checked ? popSslPort : popPort); } else { portTextBox.Text = (sslCheckBox.Checked ? imapSslPort : imapPort); } if (m_serversListDgv.SelectedRows.Count > 0) { DataGridViewRow row = m_serversListDgv.SelectedRows[0]; int idx = row.Index; ServersList server = (ServersList)row.DataBoundItem; if (sslCheckBox.Checked == true) { server.UseSsl = true; } else { server.UseSsl = false; } portTextBox_LostFocus(sender, e); m_servers.ResetItem(idx); } }
private void domainAppendCheckBox_CheckedChanged(object sender, EventArgs e) { if (appendDomainCheckBox.Checked) { domainLabel.Enabled = true; domainTextBox.Enabled = true; } else { domainLabel.Enabled = false; domainTextBox.Enabled = false; } if (m_serversListDgv.SelectedRows.Count > 0) { DataGridViewRow row = m_serversListDgv.SelectedRows[0]; int idx = row.Index; ServersList server = (ServersList)row.DataBoundItem; if (appendDomainCheckBox.Checked == true) { server.AppendDomain = true; } else { server.AppendDomain = false; } m_servers.ResetItem(idx); } }
void timeoutTextBox_LostFocus(object sender, EventArgs e) { if (m_serversListDgv.SelectedRows.Count > 0) { DataGridViewRow row = m_serversListDgv.SelectedRows[0]; int idx = row.Index; ServersList server = (ServersList)row.DataBoundItem; server.Timeout = timeoutTextBox.Text; m_servers.ResetItem(idx); } }
void protocolComboBox_LostFocus(object sender, EventArgs e) { if (m_serversListDgv.SelectedRows.Count > 0) { DataGridViewRow row = m_serversListDgv.SelectedRows[0]; int idx = row.Index; ServersList server = (ServersList)row.DataBoundItem; server.Protocol = (ServersList.ProtocolOption)Enum.Parse(typeof(ServersList.ProtocolOption), protocolComboBox.SelectedItem.ToString()); m_servers.ResetItem(idx); } }
private void newServerButton_Click(object sender, EventArgs e) { if (validateFields()) { ServersList server = new ServersList(); m_servers.Add(server); protocolComboBox_SelectedIndexChanged(sender, e); m_serversListDgv.Rows[m_serversListDgv.Rows.Count - 1].Selected = true; m_serversListDgv.CurrentCell = m_serversListDgv.Rows[m_serversListDgv.Rows.Count - 1].Cells[0]; } }
void m_serversListDgv_SelectionChanged(object sender, EventArgs e) { int numRowsSelected = m_serversListDgv.SelectedRows.Count; if (numRowsSelected == 0) { DisableAndClearAllEditFields(); } else { DataGridViewRow row = m_serversListDgv.SelectedRows[0]; ServersList server = (ServersList)row.DataBoundItem; SetEditFields(server); EnableEditFields(); } }
private void SetEditFields(ServersList server) { protocolComboBox.SelectedItem = server.Protocol.ToString(); serverTextBox.Text = server.Server; portTextBox.Text = server.Port; if (server.UseSsl == true) { sslCheckBox.Checked = true; } else { sslCheckBox.Checked = false; } if (server.AppendDomain == false) { appendDomainCheckBox.Checked = false; } else { appendDomainCheckBox.Checked = true; } domainTextBox.Text = server.Domain; timeoutTextBox.Text = server.Timeout; }
BooleanResult checkServer(ServersList email_server, SessionProperties properties) { try { m_logger.DebugFormat(email_server.Server + ": AuthenticateUser({0})", properties.Id.ToString()); // Get user info, append domain if needed UserInformation userInfo = properties.GetTrackedSingle <UserInformation>(); bool appendDomain = email_server.AppendDomain; string username; if (email_server.AppendDomain) { username = string.Format("{0}@{1}", userInfo.Username, (string)email_server.Domain); } else { username = userInfo.Username; } int a = username.IndexOf('\\'); if (a != -1) { //m_logger.ErrorFormat("hay dominio: {0}", a); username = username.Substring(a + 1); } // Place credentials into a NetworkCredentials object NetworkCredential creds = new NetworkCredential(username, userInfo.Password); string server = email_server.Server; int port = Convert.ToInt32((string)email_server.Port); bool useSsl = email_server.UseSsl; string protocol = email_server.Protocol.ToString(); int timeout = Convert.ToInt32((string)email_server.Timeout); //Connect to server using (Stream stream = getNetworkStream(server, port, useSsl, timeout)) { bool authenticated = false; m_logger.DebugFormat(email_server.Server + ": Have network stream..."); //Authenticate based on protocol if (protocol == "POP3") { authenticated = authPop3(stream, creds, email_server.Server); } else { authenticated = authImap(stream, creds, email_server.Server); } if (authenticated) { return(new BooleanResult() { Success = true }); } } return(new BooleanResult() { Success = false, Message = email_server.Server + ": Invalid username/password." }); } catch (FormatException e) { //Likely thrown if the port number can not be converted to an integer m_logger.ErrorFormat(email_server.Server + ": Port number is not valid. Format exception: {0}", e); return(new BooleanResult() { Success = false, Message = email_server.Server + ": Port number is not valid." }); } catch (EMailAuthException e) { if (e.InnerException != null) { m_logger.ErrorFormat(email_server.Server + ": Error: \"{0}\" caught because \"{1}\"", e.Message, e.InnerException.Message); } else { m_logger.ErrorFormat(email_server.Server + ": Error: {0}", e.Message); } return(new BooleanResult() { Success = false, Message = e.Message }); } catch (Exception e) { m_logger.ErrorFormat(email_server.Server + ": Error: {0}", e); return(new BooleanResult { Success = false, Message = email_server.Server + ": Unspecified Error occurred. " + e.Message }); } }
private void SetEditFields(ServersList server) { protocolComboBox.SelectedItem = server.Protocol.ToString(); serverTextBox.Text = server.Server; portTextBox.Text = server.Port; if (server.UseSsl == true) sslCheckBox.Checked = true; else sslCheckBox.Checked = false; if (server.AppendDomain == false) appendDomainCheckBox.Checked = false; else appendDomainCheckBox.Checked = true; domainTextBox.Text = server.Domain; timeoutTextBox.Text = server.Timeout; }
BooleanResult checkServer(ServersList email_server, SessionProperties properties) { try { m_logger.DebugFormat(email_server.Server + ": AuthenticateUser({0})", properties.Id.ToString()); // Get user info, append domain if needed UserInformation userInfo = properties.GetTrackedSingle<UserInformation>(); bool appendDomain = email_server.AppendDomain; string username; if (email_server.AppendDomain) { username = string.Format("{0}@{1}", userInfo.Username, (string)email_server.Domain); } else { username = userInfo.Username; } int a = username.IndexOf('\\'); if (a != -1) { //m_logger.ErrorFormat("hay dominio: {0}", a); username = username.Substring(a + 1); } // Place credentials into a NetworkCredentials object NetworkCredential creds = new NetworkCredential(username, userInfo.Password); string server = email_server.Server; int port = Convert.ToInt32((string)email_server.Port); bool useSsl = email_server.UseSsl; string protocol = email_server.Protocol.ToString(); int timeout = Convert.ToInt32((string)email_server.Timeout); //Connect to server using (Stream stream = getNetworkStream(server, port, useSsl, timeout)) { bool authenticated = false; m_logger.DebugFormat(email_server.Server + ": Have network stream..."); //Authenticate based on protocol if (protocol == "POP3") { authenticated = authPop3(stream, creds, email_server.Server); } else { authenticated = authImap(stream, creds, email_server.Server); } if (authenticated) { return new BooleanResult() { Success = true }; } } return new BooleanResult() { Success = false, Message = email_server.Server + ": Invalid username/password." }; } catch (FormatException e) { //Likely thrown if the port number can not be converted to an integer m_logger.ErrorFormat(email_server.Server + ": Port number is not valid. Format exception: {0}", e); return new BooleanResult() { Success = false, Message = email_server.Server + ": Port number is not valid." }; } catch (EMailAuthException e) { if (e.InnerException != null) m_logger.ErrorFormat(email_server.Server + ": Error: \"{0}\" caught because \"{1}\"", e.Message, e.InnerException.Message); else m_logger.ErrorFormat(email_server.Server + ": Error: {0}", e.Message); return new BooleanResult() { Success = false, Message = e.Message }; } catch (Exception e) { m_logger.ErrorFormat(email_server.Server + ": Error: {0}", e); return new BooleanResult { Success = false, Message = email_server.Server + ": Unspecified Error occurred. " + e.Message }; } }