E-MailRelay is a lightweight SMTP store-and-forward mail server with POP access to spooled messages. It can be used as a personal internet mail server using SpamAssassin spam filtering and DNSBL connection blocking, with incoming e-mail delivered to maildir mailboxes. Store-and-forward operation is normally to a fixed smarthost but DNS MX routing can also be configured. External scripts can be used for address validation and for processing e-mail messages as they are received.
E-MailRelay runs as a single process using the same non-blocking i/o model as Squid and nginx giving excellent scalability and resource usage.
E-MailRelay can be run straight from the command-line, and on Windows you can run emailrelay.exe or emailrelay-textmode.exe from the zip file without going through the installation process.
To use E-MailRelay in store-and-forward mode use the --as-server option to start the storage daemon in the background, and then do delivery of spooled messages by running with --as-client.
For example, to start a storage daemon in the background listening on port 10025 use a command like this:
emailrelay --as-server --port 10025 --spool-dir /tmp
On Windows use c:/temp for testing, rather than /tmp.
Or to run it in the foreground:
emailrelay --log --no-daemon --port 10025 --spool-dir /tmp
And then to forward the spooled mail to smtp.example.com run something like this:
emailrelay --as-client smtp.example.com:25 --spool-dir /tmp
To forward continuously you can add the --poll and --forward-to options to the server command-line:
For example, this starts a server that also forwards spooled-up e-mail every minute:
emailrelay --as-server --poll 60 --forward-to smtp.example.com:25
Or for a server that forwards each message as soon as it has been received, you can use --forward-on-disconnect:
emailrelay --as-server --forward-on-disconnect --forward-to smtp.example.com:25
To edit or filter e-mail as it passes through the server specify your filter program with the --filter option, something like this:
emailrelay --as-server --filter /tmp/set-from.js
Look for example filter scripts in the examples directory.
E-MailRelay can also be used as a personal internet mail server:
Use --remote-clients (-r) to allow connections from outside the local network, define your domain name with --domain and use an address verifier as a first line of defense against spammers:
emailrelay --as-server -v -r --domain=example.com --address-verifier=account:
Then enable POP access to the incoming e-mails with --pop, --pop-port and --pop-auth:
emailrelay ... --pop --pop-port 10110 --pop-auth /etc/emailrelay.auth
Set up the POP account with a user-id and password in the --pop-auth secrets file. The secrets file should contain a single line of text like this:
server plain <userid> <password>
For more information on the command-line options refer to the reference guide or run:
emailrelay --help --verbose
To install E-MailRelay on Windows run the emailrelay-setup program and choose the automatic startup option on the last page so that E-MailRelay runs as a Windows service. Use the Windows Services utility to configure the E-MailRelay service as automatic or manual startup.
To install E-MailRelay on Linux from a RPM package:
sudo rpm -i emailrelay*.rpm
Or from a DEB package:
sudo dpkg -i emailrelay*.deb
To get the E-MailRelay server to start automatically you should check the configuration file /etc/emailrelay.conf is as you want it and then run the following commands to activate the systemd service:
systemctl enable emailrelay systemctl start emailrelay systemctl status emailrelay
On other Linux systems try some combination of these commands to set up and activate the E-MailRelay service:
cp /usr/lib/emailrelay/init/emailrelay /etc/init.d/ update-rc.d emailrelay enable rc-update add emailrelay invoke-rc.d emailrelay start service emailrelay start tail /var/log/messages tail /var/log/syslog
On BSD systems add this line to /etc/rc.conf:
emailrelay_enable="YES"
The following documentation is provided:
- README -- this document
- COPYING -- the GNU General Public License
- INSTALL -- generic build & install instructions
- AUTHORS -- authors, credits and additional copyrights
- userguide.txt -- user guide
- reference.txt -- reference document
- ChangeLog -- change log for releases
Source code documentation will be generated when building from source if doxygen is available.
To give feedback, including reviews, bug reports and feature requests, please use the SourceForge project website at https://sourceforge.net/projects/emailrelay