Expand description

Features

This crate uses the following features to enable IMAP extensions:

FeatureDescriptionEnabled by default
starttlsSee STARTTLSNo
ext_idleSee IDLENo (but may change)
ext_enableSee ENABLENo (but may change)
ext_compressSee COMPRESSNo (but may change)

Features prefixed with “ext_” are IMAP extensions and often require a more elaborate message flow. STARTTLS is not considered an extension but feature-gated because it should be avoided. You should always use IMAPS, i.e., IMAP-over-TLS on port 993, instead of STARTTLS.

Furthermore, imap-codec uses the following features to facilitate interoperability:

FeatureDescriptionEnabled by default
arbitraryderive(Arbitrary)No
nompub use internal;No
serdederive(Serialize, Deserialize)No

When using “arbitrary”, all types defined in imap-codec implement the Arbitrary trait to ease testing. Although nom is always used for parsing, imap-codec tries to hide nom from the public API. Should you want to reuse a parser from imap-codec, use the “nom” feature to export all parsers. When the “serde” feature is used, all types implement Serde’s Serialize and Deserialize traits.

Re-exports

pub use imap_types;
pub use imap_types as types;
pub use rfc3501::*;

Modules