예제 #1
0
 void session_Sent(SmtpSession sender, string line)
 {
     if (Sent != null)
     {
         Sent(sender, line);
     }
 }
예제 #2
0
 void session_Error(SmtpSession sender, Exception ex)
 {
     if (Error != null)
     {
         Error(this, ex);
     }
 }
예제 #3
0
 void session_End(SmtpSession sender)
 {
     if (End != null)
     {
         End(sender);
     }
 }
예제 #4
0
 void session_Received(SmtpSession sender, string line)
 {
     if (Received != null)
     {
         Received(sender, line);
     }
 }
예제 #5
0
        /// <summary>
        /// run server
        /// </summary>
        private void Run()
        {
            try
            {
                _smtpListener = new TcpListener(IPAddress.Any, 25); // open listener for port
                _smtpListener.Start();

                if (Started != null)
                {
                    Started(this, _smtpListener);
                }

                int count = 1;

                try
                {
                    while (true)
                    {
                        Socket clientSocket = _smtpListener.AcceptSocket();
                        if (Connect != null)
                        {
                            Connect(this, clientSocket);
                        }
                        SmtpSession session = new SmtpSession(clientSocket, count);
                        session.Error    += new SmtpSession.ExceptionHandler(session_Error);
                        session.Sent     += new SmtpSession.DataHandler(session_Sent);
                        session.Received += new SmtpSession.DataHandler(session_Received);
                        session.End      += new SmtpSession.EndHandler(session_End);
                        Thread sessionThread = new Thread(new ThreadStart(session.Process));
                        sessionThread.Start();
                        count++;
                    }
                }
                catch (InvalidOperationException)
                {
                    // server stopped
                }
                finally
                {
                    _smtpListener.Stop();
                }
            }
            catch (Exception ex)
            {
                if (Error != null)
                {
                    Error(this, ex);
                }

                _smtpListener.Stop();
            }
        }
예제 #6
0
파일: SmtpMock.cs 프로젝트: dblock/sncore
 void session_Error(SmtpSession sender, Exception ex)
 {
     if (Error != null) Error(this, ex);
 }
예제 #7
0
파일: SmtpMock.cs 프로젝트: dblock/sncore
 void session_Received(SmtpSession sender, string line)
 {
     if (Received != null) Received(sender, line);
 }
예제 #8
0
파일: SmtpMock.cs 프로젝트: dblock/sncore
 void session_Sent(SmtpSession sender, string line)
 {
     if (Sent != null) Sent(sender, line);
 }
예제 #9
0
파일: SmtpMock.cs 프로젝트: dblock/sncore
 void session_End(SmtpSession sender)
 {
     if (End != null) End(sender);
 }
예제 #10
0
파일: SmtpMock.cs 프로젝트: dblock/sncore
        /// <summary>
        /// run server
        /// </summary>
        private void Run()
        {
            try
            {
                _smtpListener = new TcpListener(IPAddress.Any, 25); // open listener for port 
                _smtpListener.Start();

                if (Started != null) Started(this, _smtpListener);

                int count = 1;

                try
                {
                    while (true)
                    {
                        Socket clientSocket = _smtpListener.AcceptSocket();
                        if (Connect != null) Connect(this, clientSocket);
                        SmtpSession session = new SmtpSession(clientSocket, count);
                        session.Error += new SmtpSession.ExceptionHandler(session_Error);
                        session.Sent += new SmtpSession.DataHandler(session_Sent);
                        session.Received += new SmtpSession.DataHandler(session_Received);
                        session.End += new SmtpSession.EndHandler(session_End);
                        Thread sessionThread = new Thread(new ThreadStart(session.Process));
                        sessionThread.Start();
                        count++;
                    }
                }
                catch (InvalidOperationException)
                {
                    // server stopped
                }
                finally
                {
                    _smtpListener.Stop();
                }
            }
            catch (Exception ex)
            {
                if (Error != null)
                {
                    Error(this, ex);
                }

                _smtpListener.Stop();
            }
        }
예제 #11
0
파일: Program.cs 프로젝트: dblock/sncore
 static void mock_Sent(SmtpSession sender, string line)
 {
     Console.WriteLine("{0}> {1}", sender.Id, line);
 }
예제 #12
0
파일: Program.cs 프로젝트: dblock/sncore
 static void mock_Received(SmtpSession sender, string line)
 {
     Console.WriteLine("{0}< {1}", sender.Id, line);
 }
예제 #13
0
파일: Program.cs 프로젝트: dblock/sncore
 static void mock_End(SmtpSession sender)
 {
     Console.WriteLine("{0}= Session Ended", sender.Id);
 }