Comfortable mail clients allow using more than one identity when sending an email. Often every identity comes with its own SMTP server and authentication data. You have to remember the password for every identity or store it inside your mail client. If you use more than one client (one on your desktop machine, one on your smartphone and one webmail solution), changing a password is a pain.
Tools like getmail or fetchmail allow collecting mails from different mail servers. You have to give them access to every
account they should visit. Sendooway can use their password files to send your mails transparently. The only password you have to remember/store inside your mail client is your UNIX password. Sendooway automatically uses the correct smarthost, logs on with your account data and sends your mail. There won't be any bounce messages because your mail client directly communicates with the remote SMTP server. A mail is send as soon as the procedure is finished.
The main advantage: Account information is centrally stored without redundancy. Most of them are already existent because they are needed by getmail/fetchmail.
Alternatives
We invested a lot of time to find an alternative. Here are some examples:
We know SMTP proxies that always connect to the same target but allow filtering of emails. They are helpful for spam and malware detection.
We also found a program that provides a local MDA to use several outgoing SMTP servers. However it seems to be outdated, lacks multi-user support and needs an external MTA.
EXIM seems to be the only MTA that supports multiple smarthosts but it is very hard to configure. We actually do not know whether EXIM is able to handle different smarthosts for different users: In a test setup user A was able to abuse user B's mail address.
Most MTAs send out bounce messages. SMTP is problematic by design (Sorry!) but a proxy is able detect errors on-the-fly.
In the end Sendooway is the only mail transfer agent that
supports multiple smarthosts,
supports multi-user environments,
has LDAP support,
reports errors on-the-fly without the need of bounce messages,
is very easy to configure,
is compatible to getmail and fetchmail,
can be setup to be fully invisible,
emulates SMTP Extensions even if the target does not support them and
supports encryption.
Design
Sendooway is started as root by xinetd. After the user has authenticated with a local password (Kerberos support is a to-do) sendooway drops its privileges and waits for the user to specify a sender address. This address is looked up in getmail's and/or fetchmail's database. Now that we know the correct SMTP server we try to establish the remote connection, send authentication data and the requested sender address. If everything goes well we glue both connections together allowing the user to submit its mail. As soon as a reset command is issued Sendooway gets involved again. All other commands (even if they seem invalid) are relayed to the remote server.
Sendooway is started by xinetd and consists of an SMTP server and an SMTP client. There are plans to create a standalone executable where the entire server component runs without root privileges.
Download / Documentation
Sendooway is licensed under the terms of the General Public License 3 (or later), is in a pre-alpha state and should not be used by anyone except for developing. On the other side it is nearly impossible to find bugs without using it - What a dilemma! However we've been warned.
Download
Sendooway can be cloned from our GIT repository by running the following commands:
There is no official release at the moment, but we provide a snapshot that already contains a configure-script. As long as Sendooway is in pre-alpha state, all snapshots are denoted as version 0.1.0. The latest snapshot was created on 2017-12-19 09:46 and can be downloaded here.
Please do not distribute binary releases as long as Sendooway is pre-alpha.
A special thank goes to GNU Savannah for hosting our source repository and proving our mailing list. But most of all, I'd like to thank my dear girlfriend for designing the Sendooway logo.
Contact
Sendooway is written by Michael Kammer (2012-2014) and a KUSPBV project; however it is free software and everyone is invited to participate. Even asking stupid questions is a great way to improve our project! Feel free to subscribe to the sendooway-users mailing list or, if you prefer, contact me directly.