vsmtp-server 2.2.1

Next-gen MTA. Secured, Faster and Greener
Documentation
[package]
edition = "2021"

name = "vsmtp-server"
version = "2.2.1"
license = "GPL-3.0-only"

rust-version = "1.66.1"

authors = ["Team viridIT <https://viridit.com/>"]
description = "Next-gen MTA. Secured, Faster and Greener"

homepage = "https://github.com/viridIT/vSMTP"
repository = "https://github.com/viridIT/vSMTP"
documentation = "https://docs.rs/crate/vsmtp-server/"

readme = "../../../README.md"
keywords = ["vsmtp", "email", "server", "mail-server", "mail-filter"]
categories = ["network-programming"]

[package.metadata.release]
pre-release-replacements = [
  { file = "Cargo.toml", prerelease = true, search = "common\\]\nversion = .*", replace = "common]\nversion = \"={{version}}\"" },
  { file = "Cargo.toml", prerelease = true, search = "config\\]\nversion = .*", replace = "config]\nversion = \"={{version}}\"" },
  { file = "Cargo.toml", prerelease = true, search = "rule-engine\\]\nversion = .*", replace = "rule-engine]\nversion = \"={{version}}\"" },
  { file = "Cargo.toml", prerelease = true, search = "mail-parser\\]\nversion = .*", replace = "mail-parser]\nversion = \"={{version}}\"" },
  { file = "Cargo.toml", prerelease = true, search = "delivery\\]\nversion = .*", replace = "delivery]\nversion = \"={{version}}\"" },
  { file = "Cargo.toml", prerelease = true, search = "protocol\\]\nversion = .*", replace = "protocol]\nversion = \"={{version}}\"" },
  { file = "Cargo.toml", prerelease = true, search = "vqueue\\]\nversion = .*", replace = "vqueue]\nversion = \"={{version}}\"" },
]

[dependencies.vsmtp-common]
version = "=2.2.1"
path = "../vsmtp-common"

[dependencies.vsmtp-config]
version = "=2.2.1"
path = "../vsmtp-config"

[dependencies.vsmtp-mail-parser]
version = "=2.2.1"
path = "../vsmtp-mail-parser"

[dependencies.vqueue]
version = "=2.2.1"
path = "../../vqueue"

[dependencies.vsmtp-protocol]
version = "=2.2.1"
path = "../vsmtp-protocol"

[dependencies.vsmtp-delivery]
version = "=2.2.1"
path = "../vsmtp-delivery"

[dependencies.vsmtp-rule-engine]
version = "=2.2.1"
path = "../vsmtp-rule-engine"

[dependencies]
tracing = { version = "0.1.37", default-features = false, features = ["std", "attributes", "release_max_level_info"] }
log = { version = "0.4.17", default-features = false, features = ["std", "release_max_level_info"] }

async-trait = { version = "0.1.68", default-features = false }
fastrand = { version = "1.9.0", default-features = false }
thiserror = { version = "1.0.39", default-features = false }
strum = { version = "0.24.1", default-features = false, features = ["std", "derive"] }
anyhow = { version = "1.0.69", default-features = false, features = ["std"] }

either = { version = "1.8.1", default-features = false, features = ["use_std", "serde"] }

tokio-stream = { version = "0.1.12", default-features = false, features = ["time"] }
async-stream = { version = "0.3.4", default-features = false }

futures-util = { version = "0.3.27", default-features = false, features = ["async-await"] }

signal-hook = { version = "0.3.15", default-features = false, features = ["iterator"] }

trust-dns-resolver = { version = "0.22.0", default-features = false }
time = { version = "0.3.20", default-features = false, features = ["std", "formatting", "macros"] }
lettre = { version = "0.10.3", default-features = false, features = [
  "smtp-transport",
  "builder",
  "tokio1-rustls-tls",
  "tracing",
] }
tokio = { version = "1.27.0", default-features = false, features = [
  "macros",
  "sync",
  "fs",
  "libc",
  "mio",
  "rt-multi-thread",
] }

tokio-rustls = { version = "0.23.4", default-features = false, features = ["logging", "tls12"] }
base64 = { version = "0.21.0", default-features = false, features = ["std"] }
rsasl = { version = "=2.0.0", default-features = false, features = [
  "provider",
  "config_builder",
  # "registry_static",
  # "scram-sha-1",
  # "scram-sha-2",
  "anonymous",
  # "external",
  # "xoauth2",
  "plain",
  "login",
] }

uuid = { version = "1.3.0", default-features = false, features = ["std", "v4", "fast-rng"] }

libloading = { version = "0.7.4", default-features = false }

[dev-dependencies]
vsmtp-test = { path = "../vsmtp-test" }
pretty_assertions = "1.3.0"
function_name = "0.3.0"

## Benchmark
criterion = { version = "0.4.0", features = ["async_tokio", "html_reports"] }
iai = "0.1.1"
rand = "0.8.5"

rustls-pemfile = { version = "1.0.2", default-features = false }

test-log = { version = "0.2.11", features = ["trace"] }
env_logger = "0.10.0"
tracing-subscriber = { version = "0.3.16", default-features = false, features = [
  "std",
  "smallvec",
  "env-filter",
  "fmt",
] }

[[bench]]
name = "receiver2"
harness = false

[[bench]]
name = "iai_receiver"
harness = false
path = "benches/iai/receiver.rs"