- SMTP nullmailer
- mail.remote in GNU Mailutils
- DMA (DragonFly Mail Agent)
- Exim mua_wrapper
- ssh tunneling
Subject: Re: [ILUG] Fetchmail Problem
From: kevin lyda firstname.lastname@example.org
Date: Wed, 11 Dec 2002 23:38:30 +0000
On Wed, Dec 11, 2002 at 11:16:47PM +0000, Liam Bedford wrote:
> Personally I would suggest bypassing the local SMTP server, and using
> procmail directly, but long term that won't help you, as mutt requires
> a sendmail-compliant MTA to send mail.
mutt happily exists with null mailers.
RM note: Relevant entries from that (now-vanished) page:
Utilities on ftp.mutt.org:
RM note: Details from each listed project's Web pages follow, with some local amendments. You should check the projects' pages for updates, as this page will not necessarily be current on improvements.
Simple relay-only mail transport agent
This is nullmailer, a sendmail/qmail/etc replacement MTA for hosts that relay to a fixed set of smart relays. It is designed to be simple to configure, secure, and easily extendable.
http://www.cs.hmc.edu/~me/smtppush/ "smtppush is a dumb SMTP relay client suitable for use with Mutt. The only thing it does is simulate the sendmail command line interface for accepting mail, and relays it to the specified SMTP server. Obviously, this is only useful for satellite workstations with no locally configured MTA." by the author of mutt, Michael Elkins.
This is sSMTP, a program that replaces sendmail on workstations that should send their mail via the departmental mailhub from which they pick up their mail (via POP, IMAP, RSMTP, pop_fetch, NFS... or the like). This program accepts mail and sends it to the mailhub, optionally replacing the domain in the From: line with a different one.
WARNING: the above is all it does. It does not receive mail, expand aliases, or manage a queue. That belongs on a mailhub with a system administrator. The man page (ssmtp.8) and the program logic manual (ssmtp_plm) discuss the limitations in more detail.
It uses a minimum of external configuration information, and so can be installed by copying the (right!) binary and an optional four-line config file to a given machine.
The GNU Mailutils also furnish a nullmailer in the form of the included mail.remote utility.
msmtp is an SMTP client that can be used as an "SMTP plugin" for Mutt and probably other MUAs (mail user agents).
From the manpage: NOTES msmtp is not intended to replace /usr/sbin/sendmail. It does not understand sendmail options and can't do local deliveries.
esmtp is a user-configurable relay-only Mail Transfer Agent (MTA) with a sendmail compatible syntax. It's based on libESMTP, supporting the AUTH (including the CRAM-MD5 and NTLM SASL mechanisms) and the StartTLS SMTP extensions.
As of December 2009, esmtp is no longer maintained, but may still be useful.
nbSMTP (no-brainer SMTP) is a simple SMTP client suitable to run in chroot jails, in embeded systems, laptops, workstations, ... It's written in C and it compiles and runs under lot of Unix flavors such as Linux, MacOSX, FreeBSD, ...
We want to remark these currently working features:
- SSL/TLS and STARTTLS support
- SYSLOG logging support (using LOG_MAIL facility)
- SASL (LOGIN, PLAIN and CRAMMD5) support
- IPv6 support
- Configuration file support
- Sendmail compatibility
- Queue support
- Fallback configuration support for roaming between SMTP servers
Putmail is a very lightweight MTA or SMTP client that may replace the sendmail command when used by MUAs that lack SMTP support. Its main features are:
- Command-line compatibility with sendmail.
- TLS support. SSL can also be used with an external tool like stunnel.
- IPv6 support. I have not tested this myself, but in theory it works. If you can confirm whether this works or not, please contact me.
- Optional per-address configuration. You can use different settings depending on the From: header.
- Multiplatform. It works on any platform Python works.
- Simple to configure.
- Short and sweet. Less than 500 lines of source code.
A rewrite of ssmtp in Perl by Hugo Haas to cure some of the existing project's problems, abandoned by Haas at alpha version 0.2, because his circumstances had changed, but now (2006-08) being rewritten again by Perl expert Ben Okopnik, and will be re-released when he's done.
ProxSMTP is a flexible tool that allows you to reject, change or log email based on arbitrary critera. It accepts SMTP connections and forwards the SMTP commands and responses to another SMTP server. The 'DATA' email body is intercepted and filtered before forwarding. You need to be able to write the filtering scripts that integrate it with your particular needs. If you're looking for something that does virus filtering, take a look at ClamSMTP which behaves similarly and uses a similar code base.
qpsmtpd is a flexible smtpd daemon written in Perl. Apart from the core SMTP features, all functionality is implemented in small "extension plugins" using the easy to use object oriented plugin API.
qpsmtpd was originally written as a drop-in qmail-smtpd replacement, but now it also includes smtp forward, postfix, exim and maildir "backends".
Simple permissive licence.
- Advanced but simple to use plugin system to easily install extra functionality and write local rules.
- Almost all features are implemented in plugins
- For example: TLS (implements STARTTLS), spamassassin, plugins for most major anti-virus programs, various AUTH plugins (ldap, vpopmail, ...), OS detection, queue plugins (qmail, exim, postfix, Maildir), greylisting, SPF, etc.
- Drop-in replacement for qmail-smtpd
- Postfix protocol module
- SMTP queuing plugin to support any SMTP compliant backend
- Other "backends" are easily implemented with a queue plugin
- Innovative spam fighting ideas can easily be implemented and tested with qpsmtpd plugins. One successful examples is the check_earlytalker plugin (disconnects most viruses and many spam engines before we even say hello!).
- Support for DNS blacklists like the Spamhaus lists.
- Support for Domain-Based Blacklist Zones lists.
- Support for Milter filters (yes, those written for sendmail) with the milter plugin
- Greylisting with Gavin Carr's denysoft_greylist plugin
- SPF support with the sender permitted from plugin
- Integrated support for SpamAssassin
- Virus scanning with ClamAV