示例#1
0
        // Token: 0x0600004D RID: 77 RVA: 0x00003538 File Offset: 0x00001738
        public void LogOff()
        {
            base.CheckDisposed();
            this.ThrowIfNotConnected();
            AsyncOperationResult <DBNull> asyncOperationResult = ImapConnectionCore.LogOff(this.ConnectionContext, null, null);

            this.ThrowIfExceptionNotNull(asyncOperationResult.Exception);
        }
示例#2
0
        // Token: 0x06000040 RID: 64 RVA: 0x000031E4 File Offset: 0x000013E4
        public OperationStatusCode TestLogon(ImapServerParameters serverParameters, ImapAuthenticationParameters authenticationParameters, IServerCapabilities capabilities)
        {
            base.CheckDisposed();
            this.ThrowIfConnected();
            OperationStatusCode result;

            try
            {
                this.ConnectAndAuthenticate(serverParameters, authenticationParameters, capabilities);
                result = OperationStatusCode.Success;
            }
            catch (ImapConnectionException)
            {
                result = OperationStatusCode.ErrorCannotCommunicateWithRemoteServer;
            }
            catch (ImapAuthenticationException ex)
            {
                if (ex.InnerException == null)
                {
                    result = OperationStatusCode.ErrorInvalidCredentials;
                }
                else
                {
                    result = OperationStatusCode.ErrorInvalidRemoteServer;
                }
            }
            catch (ImapCommunicationException)
            {
                result = OperationStatusCode.ErrorInvalidRemoteServer;
            }
            catch (MissingCapabilitiesException)
            {
                result = OperationStatusCode.ErrorUnsupportedProtocolVersion;
            }
            finally
            {
                if (this.IsConnected())
                {
                    ImapConnectionCore.LogOff(this.ConnectionContext, null, null);
                }
            }
            return(result);
        }