vSMTP is a Mail Transfer Agent (MTA) and a Mail Submission Agent (MSA). It is not intended to be a Mail User Agent (MUA) nor a Mail Delivery Agent (MDA).

vSMTP can store messages on disk using Mbox or Maildir formats. To retrieve emails from a remote client it is necessary to install a MDA server that can handle POP and/or IMAP protocols.


Take a look at the milestones for vSMTP to get an overview of what will be added in future releases.

Follow the development, plannings and announcements for incoming features on the official discord server.

Available features


The core of vSMTP uses high performance asynchronous connections to supports heavy workloads.


vSMTP exposes a complete filtering system. In addition to the standard analysis of the SMTP envelope, vSMTP provides on the fly interactions with headers of the email. Users can generate complex routing and filtering scenarios through a simple and intuitive scripting language.

  • vSMTP scripting language allowing administrators to define complex filtering rules.
  • Before and after queueing filtering.
  • Interaction at each SMTP state (CONNECT, HELO/EHLO, MAIL, RCPT, DATA).

Interacting with the body of the email (MIME) is planned for future releases.


vSMTP is a modular and highly customizable product supporting plugins developed in the Rust programing language.

Some plugins are already available.

  • CSV file databases.
  • MySQL databases.
  • System commands execution.
  • Third-party software integration via delegation using the SMTP protocol.

Other plugins like LDAP, NoSQL databases, in-memory caches, Compliancy with Postfix SMTP access policy delegation and Unix/IP socket calls are being planned for future releases.


vSMTP is able to deliver emails remotely or locally.

  • SMTP remote delivery - using Lettre.
  • SMTP forwarding.
  • Mbox and Maildir formats for local delivery.

Email authentication mechanisms

vSMTP secures the email traffic by implementing the following mechanisms.

  • Message submission RFCs.
  • SPF support.
  • DKIM signer and verifier.
  • DMARC verifier. (reporting is not natively supported)
  • Null MX RFC.

DANE, ARC and BIMI RFCs are planned for future releases.