Inhaltsverzeichnis
Postfix vacation
vacation ist ein „autoresponder“ - also ein Programm, welches automatisch auf eingehende e-Mails antwortet. vacation kann z.B. zum Versenden von automatischen Urlaubs- oder Abwesenheitsnachrichten verwendet werden.
Postfix vacation herunterladen
Bevor mit der Installation von vacation begonnen werden kann, sollte eine „stabile“ Version von vacation - SourceForge.net heruntergeladen werden.
Die hier verwendete und besprochene Version ist die Version vacation-1.2.7.0.tar.gz
.
Postfix vacation installieren
Nach dem herunterladen einer Version von vacation in z.B. das Verzeichnis /tmp
auf den lokalen Rechner, sollte sich folgende Datei
vacation-1.2.7.0.tar.gz
im Verzeichnis /tmp
befinden.
Das heruntergeladene Archiv mit dem Namen vacation-1.2.7.0.tar.gz
kann mit folgendem Befehl entpackt werden:
$ tar xvfz vacation-1.2.7.0.tar.gz
Anschließend sollte sich ein Verzeichnis mit dem Namen vacation-1.2.7.0.tar.gz
im Verzeichnis /tmp
befinden:
# ll /tmp/ ... drwxr-xr-x 5 1000 1000 4096 Jul 3 2008 vacation-1.2.7.0 -rw-r--r-- 1 root root 63849 Jul 3 2008 vacation-1.2.7.0.tar.gz ...
Abschliessend kann das heruntergeladene Archiv vacation-1.2.7.0.tar.gz
mit folgendem Befehl gelöscht werden:
$ rm /tmp/vacation-1.2.7.0.tar.gz
Ab hier werden root
-Rechte zur Ausführung der nachfolgenden Befehle benötigt. Um root
zu werden geben Sie bitte folgenden Befehl ein:
$ su - Password:
Um selbst kompilieren zu können ist es erforderlich das ein Compiler auf dem Rechner verfügbar ist. Unter Linux ist gcc
(gcc.i386) der Standard-Compiler. Falls dieser noch nicht installiert sein sollte kann dies mit folgendem Befehl nachgeholt werden:
# yum install gcc
Nach erfolgreichem auflösen der Abhängigkeiten, sollte ein lauffähiger Compiler zur Verfügung stehen.
Nachfolgend kann ein Wechsel in das Verzeichnis /tmp/vacation-1.2.7.0
mit folgendem Befehl:
# cd /tmp/vacation-1.2.7.0
durchgeführt werden.
WICHTIG - Um Fehler bei der Installation zu vermeiden, muss die /tmp/vacation-1.2.7.0/Makefile
-Datei wie folgt angepasst werden (nur relevanter Auszug):
Die relevanten Änderungen gegenüber der Standard Makefile
, sind mit folgendem Kommentar
# Tachtler
versehen.
... # where things go BINDIR = $(PREFIX)/bin VACATION = $(BINDIR)/vacation VACLOOK = $(BINDIR)/vaclook # Tachtler # default: MANDIR = $(PREFIX)/man/man MANDIR = /usr/share/man/man MANEXT1 = 1 VERSION = 1 SUBVERSION = 2 PATCHLEVEL = 7 ...
Durch Eingabe nachfolgender Befehle die Kompilation und Installation durchgeführt werden:
# make gcc -g -Wall -DMAIN -Xlinker -warn-common -D_PATH_VACATION=\"/usr/bin/vacation\" -o vacation vacation.c strlcpy.c strlcat.c rfc822.c -lgdbm # make install install -s -m 755 vacation /usr/bin/vacation install -m 755 vaclook /usr/bin/vaclook ./html2man.pl < vacation.html > /usr/share/man/man1/vacation.1 install -m 444 vaclook.man /usr/share/man/man1/vaclook.1
Postfix vacation konfigurieren
Zur Konfiguration von vacation ist es notwendig eine Systemgruppe namens vacation
mit folgendem Befehl zu erstellen:
# groupadd -r vacation
und einen Systembenutzer ebenfalls namens vacation
mit folgendem Befehl zu erstellen:
# useradd -r -c "Postfix vacation filter" -d /var/spool/vacation vacation -g vacation -s /sbin/nologin -m
Zu Überprüfung, ob das erstellen einer Systemgruppe namens vacation
erfolgreich war kann folgender Befehl mit nachfolgender Ausgabe genutzt werden:
# cat /etc/group | grep vacation vacation:x:107:
Zu Überprüfung, ob das erstellen eines Systembenutzers namens vacation
ebenfalls erfolgreich war kann folgender Befehl mit nachfolgender Ausgabe genutzt werden:
# cat /etc/passwd | grep vacation vacation:x:104:107:Postfix vacation filter:/var/spool/vacation:/sbin/nologin
Eine Überprüfung, ob das home
-Verzeichnis angelegt wurde, kann mit folgendem Befehl durchgeführt werden und sollte eine Ausgabe in etwa wie folgende anzeigen:
# ll -la /var/spool/vacation total 36 drwx------ 4 vacation vacation 4096 Jan 13 14:51 . drwxr-xr-x 14 root root 4096 Jan 13 14:51 .. -rw-r--r-- 1 vacation vacation 33 Jan 13 14:51 .bash_logout -rw-r--r-- 1 vacation vacation 176 Jan 13 14:51 .bash_profile -rw-r--r-- 1 vacation vacation 124 Jan 13 14:51 .bashrc drwxr-xr-x 3 vacation vacation 4096 Jan 13 14:51 .kde drwxr-xr-x 4 vacation vacation 4096 Jan 13 14:51 .mozilla -rw-r--r-- 1 vacation vacation 658 Jan 13 14:51 .zshrc
Abschließend kann das automatisch neu angelegte home
-Verzeichnis mit folgendem Befehl und nachfolgender Ausgabe von unnötigem „Balast“ bereinigt werden:
# rm /var/spool/vacation/.* -rf rm: cannot remove `.' or `..' rm: cannot remove `.' or `..'
* Die beiden Hinweise können getrost ignoriert werden!
Postfix vacation /etc/postfix/master.cf
Um vacation in Postfix zu integrieren, sind nachfolgende Konfigurationseinstellungen in der Postfix-Konfigurationsdatei /etc/postfix/master.cf
notwendig.
Die relevanten Änderungen gegenüber der Standard-Konfiguration, sind mit folgendem Kommentar
# Tachtler
versehen.
Anpassungen vorhandener Einstellungen in /etc/postfix/master.cf
am Ende der Konfiguratiosndatei (nur relevanter Ausschnitt):
... # Tachtler # AMaViS - Outgoing from AMaViS, BACK to Postfix 127.0.0.1:10025 inet n - n - - smtpd -o content_filter= -o smtpd_proxy_filter= -o smtpd_authorized_xforward_hosts=127.0.0.0/8 -o smtpd_client_restrictions= -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o smtpd_data_restrictions= -o mynetworks=0.0.0.0/32,127.0.0.0/8,192.168.0.0/28 -o receive_override_options=no_unknown_recipient_checks,no_address_mappings ... ... ... # Tachtler # vacation auto-responder e-Mail vacation unix - n n - 5 pipe flags=F user=vacation argv=/usr/bin/vacation ...
Erläuterungen der Änderungen
- -o receive_override_options=no_unknown_recipient_checks,no_address_mappings
In diesem Falls wird die Option -o receive_override_options
um no_address_mappings
erweitert, da es sonst beim Einsatz eines Virenfilters wie z.B. AMaViS zum zweimaligen durchlaufen der Konfiguratiosndatei virtual_alias_maps
kommt und vacation würde zwei mal eine „Abwesenheitsnachricht“ versenden!
* **vacation unix - n n - 5 pipe flags=F user=vacation argv=/usr/bin/vacation**
Aufruf von vacation, wobei nur 5 Instanzen gleichzeitig gestartet sein dürfen!
Postfix vacation /etc/postfix/main.cf
Um vacation in Postfix zu integrieren, sind nachfolgende Konfigurationseinstellungen in der Postfix-Konfigurationsdatei /etc/postfix/main.cf
notwendig.
Die relevanten Änderungen gegenüber der Standard-Konfiguration, sind mit folgendem Kommentar
# Tachtler
versehen.
Anpassungen vorhandener Einstellungen in /etc/postfix/main.cf
(nur relevanter Ausschnitt):
... # Auto responder vacation # transport_maps for user of domain vacation.tachtler.net # permit only one e-Mail at same time to vacation # transport_maps = btree:/etc/postfix/transport_maps vacation_recipient_limit=1 ...
Postfix vacation /etc/postfix/virtual_alias_domains
Um vacation in Postfix zu integrieren, sind nachfolgende Konfigurationseinstellungen in der Postfix-Konfigurationsdatei /etc/postfix/virtual_alias_domains
notwendig.
Anpassungen vorhandener Einstellungen in /etc/postfix/virtual_alias_domains
(nur relevanter Ausschnitt):
... vacation.tachtler.net tachtler.net ...
Als Trennzeichen zwischen den beiden Einträgen, sollte am besten die [TAB]-Taste verwendet werden, es ist aber auch die Trennung durch [Leerzeichen] möglich!
Zum Abschluss muss auch hier diese Text-Datei in ein hash
-Format, oder besser noch in das Format btree
mithilfe des Postfix eigenen Befehls postmap
umgewandelt werden.
Der Aufruf für die Umwandlung in das z.B. btree
-Format lautet wie folgt:
# postmap btree:/etc/postfix/virtual_alias_domains
Anschließend sollte eine neue Datei mit dem Namen /etc/postfix/virtual_alias_domains.db
entstanden sein.
Dies kann mit folgendem Befehl überprüft werden:
# ll /etc/postfix/virtual_alias_domains* -rw-r--r-- 1 root root 531 Dec 3 09:11 /etc/postfix/virtual_alias_domains -rw-r--r-- 1 root root 8192 Dec 3 09:14 /etc/postfix/virtual_alias_domains.db
Damit ist die Umwandung in das btree
-Format abgeschlossen.
Postfix vacation /etc/postfix/virtual_alias_maps
Um vacation in Postfix zu integrieren, sind nachfolgende Konfigurationseinstellungen in der Postfix-Konfigurationsdatei /etc/postfix/virtual_alias_maps
notwendig.
Anpassungen vorhandener Einstellungen in /etc/postfix/virtual_alias_maps
(nur relevanter Ausschnitt):
... @vacation.tachtler.net @tachtler.net postmaster@tachtler.net postmaster@tachtler.net, \postmaster@vacation.tachtler.net abuse@tachtler.net abuse@tachtler.net, \abuse@vacation.tachtler.net ...
Als Trennzeichen zwischen den beiden Einträgen, sollte am besten die [TAB]-Taste verwendet werden, es ist aber auch die Trennung durch [Leerzeichen] möglich!
Zum Abschluss muss auch hier diese Text-Datei in ein hash
-Format, oder besser noch in das Format btree
mithilfe des Postfix eigenen Befehls postmap
umgewandelt werden.
Der Aufruf für die Umwandlung in das z.B. btree
-Format lautet wie folgt:
# postmap btree:/etc/postfix/virtual_alias_maps
Anschließend sollte eine neue Datei mit dem Namen /etc/postfix/virtual_alias_maps.db
entstanden sein.
Dies kann mit folgendem Befehl überprüft werden:
# ll /etc/postfix/virtual_alias_maps* -rw-r--r-- 1 root root 531 Dec 3 09:11 /etc/postfix/virtual_alias_domains -rw-r--r-- 1 root root 8192 Dec 3 09:14 /etc/postfix/virtual_alias_domains.db
Damit ist die Umwandung in das btree
-Format abgeschlossen.
Postfix vacation /etc/postfix/transport_maps
Um vacation in Postfix zu integrieren, sind nachfolgende Konfigurationseinstellungen in der Postfix-Konfigurationsdatei /etc/postfix/transport_maps
notwendig.
Dafür ist die Konfigurationsdatei /etc/postfix/transport_maps
mit folgendem Befehl neu zu erstellen:
# touch /etc/postfix/transport_maps
Danach sollte der Inhalt wie folgt aussehen:
vacation.tachtler.net vacation:
Als Trennzeichen zwischen den beiden Einträgen, sollte am besten die [TAB]-Taste verwendet werden, es ist aber auch die Trennung durch [Leerzeichen] möglich!
Am Ende der Zeile muss ein DOPPELPUNKT stehen!
Zum Abschluss muss auch hier diese Text-Datei in ein hash
-Format, oder besser noch in das Format btree
mithilfe des Postfix eigenen Befehls postmap
umgewandelt werden.
Der Aufruf für die Umwandlung in das z.B. btree
-Format lautet wie folgt:
# postmap btree:/etc/postfix/transport_maps
Anschließend sollte eine neue Datei mit dem Namen /etc/postfix/transport_maps.db
entstanden sein.
Dies kann mit folgendem Befehl überprüft werden:
# ll /etc/postfix/transport_maps* -rw-r--r-- 1 root root 33 Jan 13 15:27 /etc/postfix/transport_maps -rw-r--r-- 1 root root 8192 Jan 13 15:28 /etc/postfix/transport_maps.db
Damit ist die Umwandung in das btree
-Format abgeschlossen.
Postfix vacation einrichten
Jeder sogenannte lokale shell
-Nutzer kann mithilfe von vacation seine eigenen automatischen „Abwesenheitsnachrichten“ einstellen!
(home) ~/.vacation.msg
Die persönliche „Abwesenheitsnachrichten“ des jeweiligen shell
-Nutzers liegt in dessen home
-Verzeichnis und lautet auf .vacation.msg
.
Der führende Punkt besagt, dass dies eine versteckte Datei ist!
Dafür ist die Konfigurationsdatei ~/.vacation.msg
mit folgendem Befehl neu zu erstellen:
# touch ~/.vacation.msg
Danach könnte der Inhalt wie folgt aussehen:
Subject: Abwesenheistnachricht | Message of vacation Ich werde vom tt.mm.jjjj bis einschliesslich tt.mm.jjjj nicht erreichbar sein! Ihre e-Mail betreffend: "$SUBJECT" werde nach meiner Rückkehr beantworten. Freundliche Grüsse Vorname Nachname I will not be reading my e-Mail from mm-dd-yyyy until mm-dd-yyyy. Your e-Mail concerning: "$SUBJECT" will be read, wehn I'm back. Best regards Nickname Surname
(home) ~/.forward
Um die persönliche „Abwesenheitsnachrichten“ des jeweiligen shell
-Nutzers zu aktivieren oder zu deaktivieren, liegt in dessen home
-Verzeichnis folgende Konfigurationsdatei .forward
.
Der führende Punkt besagt, dass dies eine versteckte Datei ist!
Dafür ist die Konfigurationsdatei ~/.forward
mit folgendem Befehl neu zu erstellen:
# touch ~/.forward
Danach könnte der Inhalt wie folgt aussehen:
# \user "| /usr/bin/vacation user" \klaus "| /usr/bin/vacation klaus"
Postfix vacation ausschalten
Um keine „Abwesenheitsnachrichten“ mehr zu versenden, kann mit folgendem Befehl die Konfigurationsdatei ~/.forward
z.B. in ~/.forward.unused
umbenannt werden:
# mv ~/.forward ~/.forward.unused
Damit ist das Zustellen von „Abwesenheitsnachrichten“ solange deaktiviert, bis diese Umbenennung wieder Rückgängig gemacht wird!