In Postfix nur bestimmte Empfängeradresse erlauben

Möchte man in Postfix für das Versenden von Emails nur eine bestimmte Empfängeradresse erlauben, kann dies relativ einfach konfiguriert werden.

In der Datei /etc/postfix/transport wird die bestimmte Empfängeradresse eingetragen:

bestimmteEmpfängeradresse@gmail.com :
root@localhost :
root :
root@deinServername :
einBenutzer@localhost :
einBenutzer@deinServername :
einBenutzer :
* error: "Nicht erlaubte Empfaengeremailadresse."

Die letzte Zeile verbietet alle anderen Emailadressen, welche in der Datei nicht aufgelistet sind.

Mit postmap muss noch die Postfix Lookup Table generiert werden:

postmap /etc/postfix/transport

Die Datei /etc/postfix/transport muss in der Datei /etc/postfix/main.cf angegeben werden:

transport_maps = hash:/etc/postfix/transport

Nun muss für Postfix nur noch kurz die Konfiguration neu gelesen werden:

/etc/init.d/postfix reload

Emails an nicht erlaubte Empfängeradressen werden nun nicht zugestellt:

This is the mail system at host deinServername.
I'm sorry to have to inform you that your message could not be delivered to one or more recipients. It's attached below.
For further assistance, please send mail to postmaster.
If you do so, please include this problem report. You can delete your own text from the attached returned message.
The mail system
<nichtErlaubteEmailadresse@gmail.com>: "Nicht erlaubte Empfaengeremailadresse."

Mails mit Postfix via Gmail versenden

Möchte man mit Postfix Mails versenden, hat aber keinen eigenen Mailserver, kann z.B. Gmail als Relayhost verwendet werden. Die Mails werden vom eigenen Server via Gmail an die Empfängeradresse versendet. Dies ist nützlich, wenn man z.B. von Icinga2 Mails versenden möchte. Um Gmail als Relayhost konfigurieren zu können, wird eine Mailadresse bei Gmail benötigt.

Die Konfiguration von Postfix ist einfach und in wenigen Schritten vorgenommen.

Benötigte Pakete installieren:

aptitude install libsasl2-2 ca-certificates libsasl2-modules

Zugangsdaten konfigurieren:

echo "smtp.gmail.com deineMailadresse@gmail.com:deinPasswort" > /etc/postfix/sasl_passwd
postmap /etc/postfix/sasl_passwd
chown root:root /etc/postfix/sasl_passwd*
chmod 600 /etc/postfix/sasl_passwd*

Postfix in der Datei /etc/postfix/main.cf wie folgt konfigurieren:

smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt

relayhost = smtp.gmail.com:587

smtp_use_tls=yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous

Jetzt noch kurz Postfix neustarten:

/etc/init.d/postfix restart

Und schon können Mails vom Postfix via Gmail versendet werden.

Ob Mails versendet werden können, kann so getestet werden:

echo "Nachrichtentext" | mail -s "Betreff" Emfpängeradresse