Exemplo n.º 1
0
        /// <summary>
        ///		Conecta al servidor de correo
        /// </summary>
        public void Connect()
        {
            string strResponse = "";

            // Desconecta
                    Disconnect();
                // Lanza el evento de comienzo de conexión
                    RaiseEvent(Pop3EventArgs.ActionType.ConnectionEstablishing);
            // Conecta al servidor
                    objConnection = new Tools.Network.Connection(Server);
                    objConnection.Connect();
                // Comprueba la respuesta del servidor
                    strResponse = objConnection.Receive();
                    if (string.IsNullOrEmpty(strResponse) ||
                            !strResponse.StartsWith(cnstStrOk, StringComparison.OrdinalIgnoreCase))
                        TreatError("Server " + Server.Address + " did not send welcome message.");
                    else
                        {	string strDigest = GetAuthenticateDigest(strResponse);

                                 // Lanza el evento de conexión establecida
                                    RaiseEvent(Pop3EventArgs.ActionType.ConnectionEstablished);
                                // Espera dos segundos
                                    System.Threading.Thread.Sleep(2000);
                                // Lanza el evento de inicio de autentificación
                                    RaiseEvent(Pop3EventArgs.ActionType.AuthenticationBegan);
                                // Envía usuario y contraseña
                                    Authenticate(strDigest);
                                // Lanza el evento de final de autentificación
                                    RaiseEvent(Pop3EventArgs.ActionType.AuthenticationFinished);
                        }
        }
Exemplo n.º 2
0
        /// <summary>
        ///		Conecta al servidor de correo
        /// </summary>
        public bool Connect()
        {
            SMTPResponse objResponse = null;
            bool blnConnected = false;

            // Desconecta
                    Disconnect();
                // Lanza el evento de comienzo de conexión
                    RaiseEvent(SMTPEventArgs.ActionType.ConnectionEstablishing);
            // Conecta al servidor
                    objConnection = new Tools.Network.Connection(Server);
                    objConnection.Connect();
                // Comprueba la respuesta del servidor
                    objResponse = new SMTPResponse(objConnection.Receive());
                    if (!objResponse.IsOk)
                        TreatError("Server " + Server.Address + " did not send welcome message.");
                    else
                        { // Manda un comando EHLO para comprobar si el servidor responde a comandos extendidos
                                objResponse = Send("EHLO " + Tools.Network.Connection.GetLocalHostName(), false);
                            // Manda un comando HELO
                                if (!objResponse.IsOk)
                                    objResponse = Send("HELO " + Tools.Network.Connection.GetLocalHostName(), false);
                            // Si es correcto, se autentifica
                                if (objResponse.IsOk)
                                    { // Lanza el evento de conexión establecida
                                            RaiseEvent(SMTPEventArgs.ActionType.ConnectionEstablished);
                                        // Lanza el comando de autentificación
                                            if (Authenticate(Server.User, Server.Password))
                                                blnConnected = true;
                                            else
                                                TreatError("Not aunthentified");
                                    }
                        }
                // Devuelve el valor que indica si se ha conectado
                    return blnConnected;
        }
Exemplo n.º 3
0
 /// <summary>
 ///		Cierra la conexión física
 /// </summary>
 private void ShutDown()
 {
     objConnection.Disconnect();
     objConnection = null;
 }