Skip to content

Latest commit

 

History

History
71 lines (57 loc) · 2.73 KB

README.md

File metadata and controls

71 lines (57 loc) · 2.73 KB

Build Status

SMTP daemon

A simple and secure SMTP-client daemon.

A typical scenario of using rusmtp is with clients like NeoMutt, where you do not store your passwords unencrypted, but you still wish to get all the benefits of using NeoMutt.

A typical installation would be as follows:

  • Add set sendmail="/PATH/TO/rusmtp" in muttrc.
  • Using GnuGP, encrypt your password and save the encrypted password.
  • Add passwordeval=gpg --quiet --no-tty --decrypt /PATH/TO/ENCRYPTED-PASSWORD.gpg to rusmtprc for each account.
  • Add the password to decrypt the encrypted password in gpg-agent, to avoid entering the password upon starting the deamon.
  • Make rusmtpd to startup upon boot.

At its current state, the builtin SMTP client only supports ESMTP and only supports LOGIN (i.e. it uses username and password to authenticate the connection).

Building from the source

rusmtp is written in rust, and it can be built with cargo, to build it simply run cargo build --release and have the daemon built for the host architecture. Minimum supported version of rust is 1.28.0.

Direct compile time dependencies

One way to recompute the above list, please run the following command chain

   for build in */Cargo.toml; do \
     cat $build |\
     rq -T -t 'at "[dependencies]"'; \
   done |\
   grep -v '^path = "../' |\
   grep -v '^\[' |\
   grep -v '^$' |\
   sort -u

Installation

  • Download the latest release here, extract it and run sudo ./install, it copies the executables to /usr/local/bin/{rusmtpc,rusmtpd}
  • Update the ~/.rusmtprc file to match your preferences, for example the passwordeval setting can be: passwordeval=gpg --quiet --no-tty --decrypt /PATH/TO/ENCRYPTED-PASSWORD.gpg
  • Update your email-client configuration to use /usr/local/bin/rusmtpc for sending emails.
  • Make the /usr/local/bin/rusmtpd daemon to run on startup.