Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:postfix_vacation_installieren

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&uuml;ckkehr beantworten.

Freundliche Gr&uuml;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!

Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden. Weitere Information
tachtler/postfix_vacation_installieren.txt · Zuletzt geändert: 2012/06/13 15:15 von klaus