Expand description

Mail dispatch abstraction

samotop-delivery is a set of transports to deliver mail to, notably to SMTP/LMTP, but also maildir… It is used in Samotop as a dispatch solution for incoming mail, but you can use it to send mail, too.


  • Do it SMTP style:
    • Speak SMTP
    • Speak LMTP
    • Connect over TCP
    • Connect over Unix sockets
    • Connect to a Child process IO
    • TLS support on all connections
    • Reuse established connections
  • Do it locally:
    • Write mail to a MailDir
    • Write mail to lozizol journal
    • Write mail to an MBox file - contributions welcome
    • Write mail to a single dir - fit for debug only
  • Popular integrations:
    • Send mail with sendmail

LMTP on Unix socket enables wide range of local delivery integrations, dovecot or postfix for instance. Some mail delivery programs speak LMTP, too.


This is a fork of async-smtp from the awesome delta.chat project.


Reference implementation of a mail service simply delivering mail to single maildir directory. Files are named with the transaftion id.

The file transport writes the emails to the given directory. The name of the file will be message_id.txt. It can be useful for testing purposes, or if you want to keep track of sent messages.

The sendmail transport sends the envelope using the local sendmail command.

The SMTP transport sends emails using the SMTP protocol.

The stub transport only logs message envelope and drops the content. It can be useful for testing purposes.


Transport method for emails

Type Definitions