#!/bin/bash
 # install.sh
 [...]
 # Hier die interne Adresse eintragen, an welche die System-Mails normalerweise gehen
 INT_ADDRESS=
 # EXT_ADDRESS definiert die externe Adresse, an die der Server die verschlüsselten System-Mails versenden soll. Wichtig: Für diese Adresse muss ein öffentlicher GPG-Schlüssel auf dem Keyserver ($KEYSERVER_ADDRESS, siehe Zeile 9) zu finden sein
 EXT_ADDRESS=
 # Die URL des Keyservers
 KEYSERVER_ADDRESS=

 # Abhängigkeiten installieren
 apt-get install sudo gpg python-gpgme

 # Anlegen des Systembenutzers, ohne Home-Directory und ohne Login- Erlaubnis
 adduser --system --no-create-home --disabled-login zeyple

 # Das Python-Skript zeyple.py herunterladen
 wget https://github.com/infertux/zeyple/blob/master/zeyple/zeyple.py
 # Konfigurationsdatei herunterladen
 wget https://github.com/infertux/zeyple/blob/master/zeyple/zeyple.conf.example

 # Ein Verzeichnis unter /etc für die Konfigurationsdatei und die Schlüsselverwaltung einrichten
 mkdir -p /etc/zeyple/keys && chmod 700 /etc/zeyple/keys && chown zeyple: /etc/zeyple/keys

 # Den öffentlichen Schlüssel für $EXT_ADDRESS vom Keyserver holen und mit gpg importieren
 sudo -u zeyple gpg --homedir /etc/zeyple/keys --keyserver $KEYSERVER_ADDRESS --search $EXT_ADDRESS

 # Die Beispielkonfiguration nach /etc/zeyple verschieben
 mv zeyple.conf.example /etc/zeyple/zeyple.conf
 # zeyple.py nach /usr/local/bin verschieben und Benutzerrechte anwenden
 mv zeyple.py /usr/local/bin/zeyple.py
 chmod 744 /usr/local/bin/zeyple.py && chown zeyple: /usr/local/bin/zeyple.py

 # Logdatei anlegen und Benutzerrechte setzen
 touch /var/log/zeyple.log && chown zeyple: /var/log/zeyple.log

 # Postfix für Zeyple vorbereiten: master.cf und main.cf um die Filtereinträge erweitern
 cd /etc/postfix

 cat >> master.cf <<END
 zeyple  unix  -  n  n  -  -  pipe
   user=zeyple argv=/usr/local/bin/zeyple.py

 localhost:10026  inet  n  -  n  -  10  smtpd
   -o content_filter=
   -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks,no_milters
   -o smtpd_helo_restrictions=
   -o smtpd_client_restrictions=
   -o smtpd_sender_restrictions=
   -o smtpd_recipient_restrictions=permit_mynetworks,reject
   -o mynetworks=127.0.0.0/8
   -o smtpd_authorized_xforward_hosts=127.0.0.0/8
 END

 # Den Contentfilter in main.cf installieren
 cat >> main.cf <<END
 content_filter = zeyple
 END

 # Damit Zeyple die Schlüssel richtig zuordnet, empfiehlt es sich, die interne Mail-Adresse für ausgehende Mails auf die externe umzuleiten
 cat >> recipient_canonical<<END
 $INT_ADDRESS  $EXT_ADDRESS
 END

 # Die Postfix-Empfängerdatenbank neu erstellen
 postmap recipient_canonical
 # Datenbank in der Postfix-Adressenumschreibung bekannt machen
 cat >> main.cf <<END
 recipient_canonical_maps = hash:/etc/postfix/recipient_canonical
 END
 # Postfix-Konfiguration neu laden
 /etc/init.d/postfix reload

 exit 0