With sendThrough on, every non-local recipient is handed to a linked relay that may send, in turn, skipping inboundOnly ones; with none linked the mail waits in the queue (RL-20, RL-24). The queue marks the recipients as handed to the relay and shows its replies. The lowest linked node follows Outbound by push, records each final status so the queue sends the DSNs, and destroys the relay's copy. DeliveryStatus gains mx, the host a reply came from. The relay's test-mx feature sends all mail to one local port for the system test, which now covers hand-over, delivery, one DSN for a refusal (RL-T11), and a deferral shown in the queue.
60 lines
2.0 KiB
TOML
60 lines
2.0 KiB
TOML
[package]
|
|
name = "smtp"
|
|
description = "inbuxa SMTP server"
|
|
authors = [ "Stalwart Labs LLC <[email protected]>"]
|
|
homepage = "https://inbuxa.org"
|
|
keywords = ["smtp", "email", "mail", "server"]
|
|
categories = ["email"]
|
|
license = "AGPL-3.0-only OR LicenseRef-SEL"
|
|
version.workspace = true
|
|
edition = "2024"
|
|
|
|
[dependencies]
|
|
store = { path = "../store" }
|
|
types = { path = "../types" }
|
|
utils = { path = "../utils" }
|
|
directory = { path = "../directory" }
|
|
common = { path = "../common" }
|
|
inbuxa-outbound-tls = { path = "../outbound-tls" }
|
|
email = { path = "../email" }
|
|
registry = { path = "../registry" }
|
|
inbuxa-features = { path = "../features" }
|
|
# inbuxa: outbound through inbuxa Relay (relay spec, RL-24)
|
|
inbuxa-relay-proto = { path = "../relay-proto" }
|
|
spam-filter = { path = "../spam-filter" }
|
|
trc = { path = "../trc" }
|
|
mail-auth = { version = "0.13", features = ["rkyv"] }
|
|
mail-parser = { version = "0.11", features = ["full_encoding"] }
|
|
mail-builder = { version = "1.0" }
|
|
smtp-proto = { version = "0.2.3", features = ["rkyv", "serde"] }
|
|
sieve-rs = { version = "0.7", features = ["rkyv"] }
|
|
ahash = { version = "0.8" }
|
|
rustls = { version = "0.23.43", default-features = false, features = ["std", "aws_lc_rs", "tls12"] }
|
|
rustls-pki-types = { version = "1", features = ["std"] }
|
|
rustls-webpki = { version = "0.103", default-features = false, features = ["std", "aws-lc-rs"] }
|
|
tokio = { version = "1.53", features = ["full"] }
|
|
tokio-rustls = { version = "0.26", default-features = false, features = ["aws_lc_rs", "tls12"] }
|
|
sha2 = "0.11"
|
|
parking_lot = "0.12"
|
|
blake3 = "1.8"
|
|
rand = "0.10.2"
|
|
x509-parser = { version = "0.18", features = ["verify-aws"] }
|
|
reqwest = { version = "0.13", default-features = false, features = ["rustls", "http2"] }
|
|
serde = { version = "1.0", features = ["derive", "rc"] }
|
|
serde_json = "1.0"
|
|
rkyv = { version = "0.8.18", features = ["little_endian"] }
|
|
compact_str = "0.10.0"
|
|
hashify = { version = "0.2" }
|
|
base64 = "0.23"
|
|
|
|
[features]
|
|
test_mode = ["mail-auth/test"]
|
|
enterprise = []
|
|
|
|
#[[bench]]
|
|
#name = "hash"
|
|
#harness = false
|
|
|
|
[lints]
|
|
workspace = true
|