[package]
name = "mail-parser"
description = "Fast and robust e-mail parsing library for Rust"
version = "1.0.0"
edition = "2024"
rust-version = "1.98"
authors = [ "Stalwart Labs <hello@stalw.art>"]
license = "Apache-2.0 OR MIT"
repository = "https://github.com/stalwartlabs/mail-parser"
homepage = "https://github.com/stalwartlabs/mail-parser"
keywords = ["email", "mail", "parser", "parse", "mime"]
categories = ["email", "parser-implementations"]
readme = "README.md"
exclude = ["benches/compare"]
[dependencies]
hashify = "0.3"
memchr = "2.8"
simdutf8 = "0.1"
encodify = { version = "1.0" }
encoding_rs = { version = "0.8", optional = true }
serde = { version = "1.0", features = ["derive"], optional = true }
[dev-dependencies]
serde_json = "1.0"
chrono = "0.4"
criterion = { version = "0.8", default-features = false, features = ["cargo_bench_support"] }
[features]
default = []
full_encoding = ["dep:encoding_rs"]
serde = ["dep:serde"]
[[bench]]
name = "kernels"
harness = false
[[bench]]
name = "resolve"
harness = false
[[bench]]
name = "text_prefix"
harness = false
[lints.rust]
rust_2018_idioms = { level = "deny", priority = -1 }
unsafe_code = "deny"
unsafe_op_in_unsafe_fn = "deny"
unexpected_cfgs = { level = "warn", check-cfg = ["cfg(mail_parser_checked_str)"] }
[lints.clippy]
undocumented_unsafe_blocks = "deny"
unwrap_used = "deny"
[profile.bench]
debug = true