Cargo Features

[dependencies]
email-lib = { version = "0.26.0", default-features = false, features = ["imap", "maildir", "notmuch", "smtp", "sendmail", "autoconfig", "derive", "keyring", "notify", "oauth2", "sync", "thread", "watch", "pgp", "pgp-commands", "pgp-gpg", "pgp-native", "tokio-rustls", "tokio-native-tls", "tokio", "async-std", "rustls", "native-tls", "vendored"] }
default = tokio-rustls

The tokio-rustls feature is set by default whenever email-lib is added without default-features = false somewhere in the dependency tree.

imap

Enables utf7-imap, imap-client and imap-next, sync of optional tokio

Affects add::imap, flag::imap, remove::imap, set::imap, get::imap, list::imap

maildir notmuch? sync?

Enables maildirs, notify ^6, and rayon, sync of optional tokio

Affects add::maildir, flag::maildir, remove::maildir, set::maildir, get::maildir, list::maildir

notmuch = maildir

Enables notmuch

Affects add::notmuch, flag::notmuch, remove::notmuch, set::notmuch, get::notmuch, list::notmuch

smtp

Enables mail-send, sync of optional tokio

Affects send::smtp, email-lib::smtp

sendmail

Affects send::sendmail, email-lib::sendmail

autoconfig

Enables email_address, hickory-resolver, http-lib, serde, and serde-xml-rs

Affects email-lib::autoconfig

derive

Enables serde, serde of chrono and derive of mml-lib, process-lib, secret-lib, and optional keyring-lib

keyring-lib:

Serde (de)serialization

Affects pgp::derive, config::ImapAuthConfigDerive, config::SmtpAuthConfigDerive

keyring

Enables keyring of mml-lib and secret-lib

notify

Enables notify-rust

oauth2

Enables oauth-lib

Affects config::oauth2

sync = maildir

Enables advisory-lock and dirs ^4.0

Affects config::AccountConfig.sync, account::sync, context::BackendContextBuilder.try_to_sync_cache_builder, config::EnvelopeConfig.sync, config::FlagConfig.sync, flag::sync, envelope::sync, config::MessageConfig.sync, message::sync, email::sync, config::FolderConfig.sync, folder::sync

thread

Enables petgraph

Affects backend::Backend.thread_envelopes, backend::BackendBuilder.thread_envelopes, config::EnvelopeConfig.thread, envelope::thread, envelope::ThreadedEnvelope

watch

Enables sync of optional tokio

Affects backend::Backend.watch_envelopes, backend::BackendBuilder.watch_envelopes, config::EnvelopeConfig.watch, envelope::watch

pgp pgp-commands? pgp-gpg? pgp-native?

used as internal guard

Affects config::pgp, config::AccountConfig.pgp

pgp-commands = pgp

Enables pgp-commands of mml-lib

Affects pgp::cmds

pgp-gpg = pgp

Enables pgp-gpg of mml-lib

Affects pgp::gpg

pgp-native = pgp

Enables keyring-lib, pgp-lib, pgp-native of mml-lib

Affects pgp::native

tokio-rustls default = rustls, tokio

Enables tokio-rustls

tokio-native-tls = native-tls, tokio

Enables tokio-native-tls

tokio tokio-native-tls? tokio-rustls

Async runtime

Enables tokio, tokio of mml-lib, process-lib, secret-lib, optional http-lib, optional keyring-lib, and optional oauth-lib

async-std

Enables async-std, async-std of mml-lib, process-lib, secret-lib, optional http-lib, optional keyring-lib, and optional oauth-lib

rustls tokio-rustls

Rust crypto

Enables dns-over-rustls of optional hickory-resolver, rustls of mml-lib, secret-lib, optional http-lib, optional keyring-lib, and optional oauth-lib

native-tls tokio-native-tls?

Enables openssl of secret-lib, dns-over-native-tls of optional hickory-resolver, native-tls of optional http-lib, openssl of optional keyring-lib, native-tls of mml-lib and optional oauth-lib

vendored

Vendored (mostly for OpenSSL)

Enables vendored of optional http-lib, optional keyring-lib, mml-lib, optional oauth-lib, secret-lib, and optional tokio-native-tls