Cargo Features

vSMTP has no features set by default.

[dependencies]
vsmtp = { version = "2.2.1", features = ["journald", "syslog", "tokio_console", "telemetry", "document-features"] }
default

Features flags

Customize the build with the following features flags:

journald

Logging system

Enable the tracing layer implemtation for the journald backend.

  • build the project using cargo build --features journald.

Enables tracing-journald, journald of vsmtp-config

syslog

Enable the tracing layer implemtation for the syslog backend.

  • build the project using cargo build --features syslog.

Enables tracing-rfc-5424, syslog of vsmtp-config

tokio_console

Debugging & Monitoring

Enable the console-subscriber layer to collect and aggregate the runtime's tracing data, and use a gRPC server to exports telemetry to clients.

  • build the project using RUSTFLAGS="--cfg tokio_unstable" cargo build --features tokio_console.
  • add tokio=trace,runtime=trace to the log level.
  • run tokio-console.

Enables console-subscriber ^0.1.7

telemetry

Enable the tracing-opentelemetry layer, and the opentelemetry-jaeger exporter.

  • cargo build --features telemetry

Enables opentelemetry-jaeger ^0.17.0 and tracing-opentelemetry ^0.18.0

document-features

Documentation

Enable document-features to generate the documentation of the dependencies and features flags.

Enables document-features