# E-MailRelay Readme

## Introduction

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.

## Quick start

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

## Autostart

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"

## Documentation

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.

## Feedback

To give feedback, including reviews, bug reports and feature requests, please use the SourceForge project website at https://sourceforge.net/projects/emailrelay