Module panorama_imap::client[][src]

IMAP Client

The IMAP client in this module is implemented as a state machine in the type system: methods that are not supported in a particular state (ex. fetch in an unauthenticated state) cannot be expressed in the type system entirely.

Because there's many client types for the different types of clients, you'll want to start here:

If you choose not to use the high-level type-safe features of ClientBuilder, then you can also choose to access the lower level Client directly.

Example

The following example connects to mywebsite.com:143 using STARTTLS.

let config = ClientConfigBuilder::default()
    .hostname("mywebsite.com".to_owned())
    .port(143)
    .tls(false)
    .build().unwrap();
let insecure = config.open().await?;
let unauth = insecure.upgrade().await?;

Modules

auth
inner

Structs

Client
ClientConfig

An IMAP client that hasn't been connected yet.

ClientConfigBuilder

Builder for ClientConfig.

IdleToken

A token that represents an idling connection.

ResponseStream
SelectResponse

Enums

ClientAuthenticated
ClientUnauthenticated

Type Definitions

ClientBuilder

Struct used to start building the config for a client.