Joshi.Utils.Imap.Imap.Login C# (CSharp) Method

Login() public method

Login to specified Imap host and port
public Login ( string sHost, ushort nPort, string sUserId, string sPassword, bool sslEnabled = false ) : void
sHost string Imap server name
nPort ushort Imap server port
sUserId string User's login id
sPassword string User's password
sslEnabled bool
return void
        public void Login(string sHost, ushort nPort, string sUserId, string sPassword, bool sslEnabled=false )
        {
            ImapResponseEnum eImapResponse = ImapResponseEnum.IMAP_SUCCESS_RESPONSE;
            ImapException e_login   = new ImapException (ImapException.ImapErrorEnum.IMAP_ERR_LOGIN, m_sUserId);
            ImapException e_invalidparam = new ImapException(ImapException.ImapErrorEnum.IMAP_ERR_INVALIDPARAM);

            if (sHost.Length == 0)
            {
                Log (LogTypeEnum.ERROR, "Invalid m_sHost name");
                throw e_invalidparam;
            }

            if (sUserId.Length == 0)
            {
                Log (LogTypeEnum.ERROR, "Invalid m_sUserId");
                throw e_invalidparam;
            }

            if (sPassword.Length == 0)
            {
                Log (LogTypeEnum.ERROR, "Invalid Password");
                throw e_invalidparam;
            }
            if (m_bIsConnected)
            {
                if (m_bIsLoggedIn)
                {
                    if (m_sHost == sHost && m_nPort == nPort)
                    {
                        if (m_sUserId == sUserId &&
                            m_sPassword == sPassword )
                        {
                            Log (LogTypeEnum.INFO, "Connected and Logged in already");
                            return;
                        }
                        else
                            LogOut();
                    }
                    else Disconnect();
                }
            }

            m_bIsConnected = false;
            m_bIsLoggedIn = false;

            try
            {
                eImapResponse = Connect(sHost, nPort, sslEnabled);
                if (eImapResponse == ImapResponseEnum.IMAP_SUCCESS_RESPONSE)
                {
                    m_bIsConnected = true;
                }
                else return;
            }
            catch (Exception e)
            {
                throw e;
            }

            ArrayList asResultArray = new ArrayList();
            string sCommand = IMAP_LOGIN_COMMAND;
            sCommand += " " + sUserId + " " + sPassword;
            sCommand += IMAP_COMMAND_EOL;
            try
            {
                eImapResponse = SendAndReceive(sCommand, ref asResultArray);
                if (eImapResponse == ImapResponseEnum.IMAP_SUCCESS_RESPONSE)
                {
                    m_bIsLoggedIn = true;
                    m_sUserId = sUserId;
                    m_sPassword = sPassword;
                }
                else throw e_login;

            }
            catch (Exception e)
            {
                throw e;
            }
        }

Same methods

Imap::Login ( string sHost, string sUserId, string sPassword ) : void

Usage Example

Exemplo n.º 1
0
 public MyImapWrapper(string imapHost, ushort imapPort, string imapUser, string imapPassword)
 {
     _imapContext = new Imap();
     try
     {
         _imapContext.Login(imapHost, imapPort, imapUser, imapPassword, true);
     }
     catch (Exception)
     {
         //TODO: Implement login exception
         throw;
     }
 }
All Usage Examples Of Joshi.Utils.Imap.Imap::Login