public void Start() { if (!_socket.Connected) { return; } _reader = new StreamReader(_socket.Stream); _writer = new StreamWriter(_socket.Stream) { AutoFlush = true }; _writer.WriteLine("220 localhost Server Ready"); var isMessageBody = false; while (_socket.Connected) { var token = SmtpToken.FromLine(_reader.ReadLine(), isMessageBody); SmtpLog.Debug(token.Data); var handler = ProtocolHandlers.HandlerFor(token); if (handler.Handle(token, this) == ContinueProcessing.Stop) { break; } isMessageBody = token.IsData && token.IsMessageBody; } }
public void WriteResponse(string data) { SmtpLog.Debug(data); _writer.WriteLine(data); }