/// <summary> /// Default constructor. /// </summary> public RelayVariablesManager(RelayServer server, Relay_Session relaySession, string errorText, Mail_Message message) { m_pRelayServer = server; m_pRelaySession = relaySession; m_ErrorText = errorText; m_pMessageStream = relaySession.MessageStream; m_pMime = message; }
/// <summary> /// Default constructor. /// </summary> public RelayVariablesManager(RelayServer server,Relay_Session relaySession,string errorText,Mail_Message message) { m_pRelayServer = server; m_pRelaySession = relaySession; m_ErrorText = errorText; m_pMessageStream = relaySession.MessageStream; m_pMime = message; }
/// <summary> /// Stops this virtual server. /// </summary> public void Stop() { m_Running = false; if(m_pDnsClient != null){ m_pDnsClient.Dispose(); m_pDnsClient = null; } if(m_pSmtpServer != null){ try{ m_pSmtpServer.Dispose(); } catch{ } m_pSmtpServer = null; } if(m_pPop3Server != null){ try{ m_pPop3Server.Dispose(); } catch{ } m_pPop3Server = null; } if(m_pImapServer != null){ try{ m_pImapServer.Dispose(); } catch{ } m_pImapServer = null; } if(m_pRelayServer != null){ try{ m_pRelayServer.Dispose(); } catch{ } m_pRelayServer = null; } if(m_pFetchServer != null){ try{ m_pFetchServer.Dispose(); } catch{ } m_pFetchServer = null; } if(m_pSipServer != null){ try{ m_pSipServer.Stack.Stop(); } catch{ } m_pSipServer = null; } if(m_pTimer != null){ try{ m_pTimer.Dispose(); } catch{ } m_pTimer = null; } if(m_pRecycleBinManager != null){ try{ m_pRecycleBinManager.Dispose(); } catch{ } m_pRecycleBinManager = null; } if(m_pBadLoginManager != null){ try{ m_pBadLoginManager.Dispose(); } catch{ } m_pBadLoginManager = null; } }
/// <summary> /// Starts this virtual server. /// </summary> public void Start() { if(m_Running){ return; } m_Running = true; m_pDnsClient = new Dns_Client(); m_pSmtpServer = new SMTP_Server(); m_pSmtpServer.Error += new LumiSoft.Net.ErrorEventHandler(OnServer_SysError); m_pSmtpServer.SessionCreated += new EventHandler<TCP_ServerSessionEventArgs<SMTP_Session>>(m_pSmtpServer_SessionCreated); m_pPop3Server = new POP3_Server(); m_pPop3Server.Error += new LumiSoft.Net.ErrorEventHandler(OnServer_SysError); m_pPop3Server.SessionCreated += new EventHandler<TCP_ServerSessionEventArgs<POP3_Session>>(m_pPop3Server_SessionCreated); m_pImapServer = new IMAP_Server(); m_pImapServer.Error += new LumiSoft.Net.ErrorEventHandler(OnServer_SysError); m_pImapServer.SessionCreated += new EventHandler<TCP_ServerSessionEventArgs<IMAP_Session>>(m_pImapServer_SessionCreated); m_pRelayServer = new RelayServer(this); m_pRelayServer.DnsClient = m_pDnsClient; m_pFetchServer = new FetchPop3(this,m_pApi); m_pSipServer = new SIP_Proxy(new SIP_Stack()); m_pSipServer.Authenticate += new SIP_AuthenticateEventHandler(m_pSipServer_Authenticate); m_pSipServer.IsLocalUri += new SIP_IsLocalUriEventHandler(m_pSipServer_IsLocalUri); m_pSipServer.AddressExists += new SIP_AddressExistsEventHandler(m_pSipServer_AddressExists); m_pSipServer.Registrar.CanRegister += new SIP_CanRegisterEventHandler(m_pSipServer_CanRegister); m_pSipServer.Stack.Error += new EventHandler<ExceptionEventArgs>(m_pSipServer_Error); m_pRecycleBinManager = new RecycleBinManager(m_pApi); m_pBadLoginManager = new BadLoginManager(); m_pTimer = new System.Timers.Timer(); m_pTimer.Interval = 15000; m_pTimer.Elapsed += new System.Timers.ElapsedEventHandler(m_pTimer_Elapsed); m_pTimer.Enabled = true; LoadSettings(); }