Skip to main content

ImapSessionOpenError

Enum ImapSessionOpenError 

Source
pub enum ImapSessionOpenError {
Show 16 variants StartTlsOverTls, StartTlsInjection, UnsupportedMechanism(SaslMechanism), UrlMissingHost(String), UrlUnsupportedScheme(String, String), InvalidLoginCredentials(ValidationError), StartTls(ImapStartTlsError), Greeting(ImapGreetingGetError), Capability(ImapCapabilityGetError), Login(ImapLoginError), AuthAnonymous(ImapAuthAnonymousError), AuthLogin(ImapAuthLoginError), AuthPlain(ImapAuthPlainError), AuthOauthbearer(ImapAuthOauthbearerError), AuthXoauth2(ImapAuthXoauth2Error), AuthScramSha256(ImapAuthScramSha256Error),
}
Expand description

Failure causes while opening an IMAP session.

Variants§

§

StartTlsOverTls

STARTTLS was requested on a transport that is already TLS.

§

StartTlsInjection

The server sent bytes past the STARTTLS tagged response.

RFC 3501 §6.2.1 forbids them, so their presence means an attacker injected plaintext commands the server will replay inside the TLS session. The upgrade is refused rather than performed.

§

UnsupportedMechanism(SaslMechanism)

Credentials were given for a mechanism this crate does not frame.

io-sasl computes more mechanisms than IMAP wires up here; the ones left out are named rather than silently skipped, so a caller learns which of its credentials this crate cannot use.

§

UrlMissingHost(String)

Available on crate feature url only.

The URL carries no host to connect to.

§

UrlUnsupportedScheme(String, String)

Available on crate feature url only.

The URL scheme is none of imap, imaps and unix.

§

InvalidLoginCredentials(ValidationError)

The LOGIN user or password failed imap-types validation.

§

StartTls(ImapStartTlsError)

The STARTTLS coroutine failed.

§

Greeting(ImapGreetingGetError)

The greeting coroutine failed.

§

Capability(ImapCapabilityGetError)

The CAPABILITY coroutine failed.

§

Login(ImapLoginError)

The LOGIN coroutine failed.

§

AuthAnonymous(ImapAuthAnonymousError)

The SASL ANONYMOUS coroutine failed.

§

AuthLogin(ImapAuthLoginError)

The SASL LOGIN coroutine failed.

§

AuthPlain(ImapAuthPlainError)

The SASL PLAIN coroutine failed.

§

AuthOauthbearer(ImapAuthOauthbearerError)

The SASL OAUTHBEARER coroutine failed.

§

AuthXoauth2(ImapAuthXoauth2Error)

The SASL XOAUTH2 coroutine failed.

§

AuthScramSha256(ImapAuthScramSha256Error)

Available on crate feature scram only.

The SASL SCRAM-SHA-256 coroutine failed.

Trait Implementations§

Source§

impl Debug for ImapSessionOpenError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for ImapSessionOpenError

Source§

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Error for ImapSessionOpenError

Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0:

use the Display impl or to_string()

1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<ImapAuthAnonymousError> for ImapSessionOpenError

Source§

fn from(source: ImapAuthAnonymousError) -> Self

Converts to this type from the input type.
Source§

impl From<ImapAuthLoginError> for ImapSessionOpenError

Source§

fn from(source: ImapAuthLoginError) -> Self

Converts to this type from the input type.
Source§

impl From<ImapAuthOauthbearerError> for ImapSessionOpenError

Source§

fn from(source: ImapAuthOauthbearerError) -> Self

Converts to this type from the input type.
Source§

impl From<ImapAuthPlainError> for ImapSessionOpenError

Source§

fn from(source: ImapAuthPlainError) -> Self

Converts to this type from the input type.
Source§

impl From<ImapAuthScramSha256Error> for ImapSessionOpenError

Source§

fn from(source: ImapAuthScramSha256Error) -> Self

Converts to this type from the input type.
Source§

impl From<ImapAuthXoauth2Error> for ImapSessionOpenError

Source§

fn from(source: ImapAuthXoauth2Error) -> Self

Converts to this type from the input type.
Source§

impl From<ImapCapabilityGetError> for ImapSessionOpenError

Source§

fn from(source: ImapCapabilityGetError) -> Self

Converts to this type from the input type.
Source§

impl From<ImapGreetingGetError> for ImapSessionOpenError

Source§

fn from(source: ImapGreetingGetError) -> Self

Converts to this type from the input type.
Source§

impl From<ImapLoginError> for ImapSessionOpenError

Source§

fn from(source: ImapLoginError) -> Self

Converts to this type from the input type.
Source§

impl From<ImapSessionOpenError> for ImapClientError

Available on crate feature client only.
Source§

fn from(source: ImapSessionOpenError) -> Self

Converts to this type from the input type.
Source§

impl From<ImapStartTlsError> for ImapSessionOpenError

Source§

fn from(source: ImapStartTlsError) -> Self

Converts to this type from the input type.
Source§

impl From<ValidationError> for ImapSessionOpenError

Source§

fn from(source: ValidationError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.