public void Dispose() { Console.WriteLine("[SmtpBeastServer::Dispose]"); lock (this) { if (null != _networkServerConnection) { try { Console.WriteLine("[SmtpBeastServer::Dispose] StopListeningForConnections"); if (_networkServerConnection.IsListening) { _networkServerConnection.StopListeningForConnections(); } } catch (Exception exception) { Console.WriteLine("Caught Exception in SmtpBeastServer::Dispose:\n{0}", exception); } finally { _networkServerConnection = null; } } } Console.WriteLine("[SmtpBeastServer::Dispose] Disposed"); }
public SmtpBeastServer(SmtpBeastServerConfig serverConfig, INetworkServerConnection networkServerConnection = null) { if (null == serverConfig) throw new ArgumentNullException(nameof(serverConfig)); ServerConfig = serverConfig; _networkServerConnection = networkServerConnection ?? new SocketNetworkServerConnection(); IsStarted = false; }
private void networkServerConnection_ConnectionAccepted(INetworkServerConnection parent, INetworkClientConnection clientConnection) { Console.WriteLine("[SmtpBeastServer::networkServerConnection_ConnectionAccepted] Connection Accepted - Sending Greeting"); clientConnection.Send(new SmtpServerMessageBuilder().Greeting()); clientConnection.Close(); IsStarted = false; }