Email relay

Revision as of 11:52, 21 January 2017 by WikiFreak (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


Principle

Our server will forward all emails to another SMTP server. The SMTP server we're gonna install is stupid: only local domain, no account checking, no anti-virus or spam protection.

  1. From a local point of view, all emails are send using Linux default configuration and system users
  2. From the other hand - the big SMTP server ("Gmail", "Outlook", ...) - all emails come from the same account


Principle:

SMTP server relay


As you can see, POSTFIX SMTP server will just act as a proxy between local services and Gmail.



When to use it ?

If you only have a single server and want to monitor it, then use a relay! That's much easier than setup a complete email server. It's also easier to maintain!



Installation

apt-get install postfix mailutils libsasl2-2 ca-certificates libsasl2-modules

Choose:

  • Internet Site
  • Type your FQDN like: dev.daxiongmao.eu || smartcard-gw.smartcards.vehco.com



Configuration

POSTFIX global conf

Edit Postfix configuration

vim /etc/postfix/main.cf


Add / adjust the SMTP relay and SASL settings (~ line 37)

## SMTP relay 
relayhost = [smtp.gmail.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_password
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
smtp_tls_policy_maps = hash:/etc/postfix/tls_policy


Do not change the default TLS settings !!


Credentials file

Create login / password file

vim /etc/postfix/sasl_password


Put the following content

[smtp.gmail.com]:587    USERNAME@gmail.com:PASSWORD


Compute new hash for postfix

postmap /etc/postfix/sasl_password


TLS policy

Create TLS policy file

vim /etc/postfix/tls_policy


Put the following content

[smtp.gmail.com]:587 encrypt


Compute new hash for postfix

postmap /etc/postfix/tls_policy


Apply changes

You must restart POSTFIX to apply changes

service postfix restart
/etc/init.d/postfix/reload



Test your configuration

echo "Test from my new SMTP relay" | mail -s "Test Postfix SMTP relay" target@domain.com

## Multi-users
echo "Test from my new SMTP relay" | mail -s "Test Postfix SMTP relay" target@domain.com,target2@domain.com


Check your logs!! cat /var/log/syslog



Configure aliases

To send all email address to "root" to your particular address you must create some aliases.

vim /etc/aliases

Put something like:

# See man 5 aliases for format
postmaster:    root
root:          me@mydomain.lu, you@mydomain.lu

Apply changes:

# Apply aliases to all the system
newaliases

# Restart postfix
service postfix restart
/etc/init.d/postfix/reload



Test your aliases

echo "Test from my new SMTP relay" | mail -s "Test Postfix SMTP relay" root



Usage

The usage is transparent.

A lot of services like Zabbix, Nagios, Webmin... are already using the "mail" application. So you don't need to do anything on your side! :-)