private string _mailDom = null; // domain part of a mail address #endregion #region "instance" // init public SMTPsession(TcpClient client) { try { this._sessCount = AppGlobals.addSession(); this._sessionID = AppGlobals.sessionID(); this._hostName = AppGlobals.hostName; if (null != AppGlobals.LocalDomains) { this._mailDomains = AppGlobals.LocalDomains; } if (null != AppGlobals.LocalMailBoxes) { this._mailBoxes = AppGlobals.LocalMailBoxes; } this._client = client; this._clientIP = this._client.Client.RemoteEndPoint.ToString(); int i = this._clientIP.IndexOf(':'); if (-1 != i) { this._clientIP = this._clientIP.Substring(0, i); } this._client.ReceiveTimeout = AppGlobals.receiveTimeout; this._stream = this._client.GetStream(); this._reader = new StreamReader(this._stream); this._writer = new StreamWriter(this._stream); this._writer.NewLine = "\r\n"; this._writer.AutoFlush = true; AppGlobals.writeConsole("client {0} connected, sess={1}, ID={2}.", this._clientIP, this._sessCount, this._sessionID); this._initOk = true; } catch (Exception ex) { AppGlobals.writeConsole("SMTPsession::Exception: " + ex.Message); closeSession(); } }