PostfixAdmin Autoresponder (Ubuntu 16.04): Unterschied zwischen den Versionen
(8 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
{{note|Noch in Bearbeitung}} | {{note|Noch in Bearbeitung - Probleme mit Perl}} | ||
Zeile 60: | Zeile 60: | ||
flags=Rq user=vacation argv=/usr/lib/postfixadmin/vacation.pl -f ${sender} -- ${recipient} | flags=Rq user=vacation argv=/usr/lib/postfixadmin/vacation.pl -f ${sender} -- ${recipient} | ||
</pre> | </pre> | ||
{{note|Missing: 7. Check the alias expansion}} | |||
==== main.cf ==== | ==== main.cf ==== | ||
Die Konfigurationsdatei | Die Konfigurationsdatei <code>/etc/postfix/main.cf</code> editieren | ||
<pre> | <pre> | ||
Zeile 79: | Zeile 81: | ||
{{note|DNS autoreply.<domain> muss lokal auflösbar sein}} | {{note|DNS autoreply.<domain> muss lokal auflösbar sein}} | ||
Die Datei | Die Datei <code>/etc/postfix/transport</code> anlegen | ||
<pre> | <pre> | ||
Zeile 101: | Zeile 103: | ||
<pre> | <pre> | ||
sudo postfix reload | sudo postfix reload | ||
</pre> | |||
=== vacation.conf === | |||
<pre> | |||
sudo mkdir -p /etc/postfixadmin/ | |||
</pre> | |||
<pre> | |||
sudo vi /etc/postfixadmin/vacation.conf | |||
</pre> | |||
<pre> | |||
sudo chown root:vacation /etc/postfixadmin/vacation.conf | |||
sudo chmod 640 /etc/postfixadmin/vacation.conf | |||
</pre> | </pre> | ||
Zeile 124: | Zeile 141: | ||
$CONF['vacation_domain'] = 'autoreply.kirner.or.at'; | $CONF['vacation_domain'] = 'autoreply.kirner.or.at'; | ||
</pre> | </pre> | ||
== Probleme == | |||
=== Command died with status 255 === | |||
<pre> | |||
Command died with status 255: | |||
"/usr/lib/postfixadmin/vacation.pl". Command output: Can't use | |||
'defined(@array)' (Maybe you should just omit the defined()?) at | |||
/usr/share/perl5/Mail/Sender.pm line 318. Compilation failed in require at | |||
/usr/lib/postfixadmin/vacation.pl line 129. BEGIN failed--compilation | |||
aborted at /usr/lib/postfixadmin/vacation.pl line 129. | |||
</pre> | |||
{{note|Aktuell noch keine Lösung}} | |||
==Links == | ==Links == |
Aktuelle Version vom 21. März 2018, 00:39 Uhr
Noch in Bearbeitung - Probleme mit Perl
Allgemein
Die Installation ist in der Datei /var/www/postfixadmin/VIRTUAL_VACATION/INSTALL.TXT beschrieben.
Vorausetzungen
Postfix muss bereits installiert sein.
Installation
Pakete installieren
Laut /var/www/postfixadmin/VIRTUAL_VACATION/vacation.pl
sind folgende zusätzliche Pakete notwendig:
sudo apt-get install libmail-sender-perl libdbd-pg-perl \ libemail-valid-perl libmime-perl liblog-log4perl-perl \ liblog-dispatch-perl libgetopt-argvfile-perl \ libmime-charset-perl libmime-encwords-perl
Script
Da der Mailinhalt möglicherweise gefährlich sein kann, wird ein lokaler Benutzer vacation
dafür angelegt:
sudo addgroup --system --no-create-home --disabled-login --gid 65000 vacation sudo adduser --system --no-create-home --disabled-login --uid 65000 --ingroup vacation vacation
Das Skript vacation.pl
kopieren und für den Benutzer vacation
ausführbar machen:
sudo mkdir /usr/lib/postfixadmin sudo cp /var/www/postfixadmin/VIRTUAL_VACATION/vacation.pl /usr/lib/postfixadmin/vacation.pl sudo chown -R root:vacation /usr/lib/postfixadmin sudo chmod 750 /usr/lib/postfixadmin/ /usr/lib/postfixadmin/vacation.pl
Konfiguration
Postfix
master.cf
Die Datei /etc/postfix/master.cf
bearbeiten
sudo vi /etc/postfix/master.cf
und am Ende folgenden Transport-Typ hinzufügen:
# PostfixAdmin Autoresponder vacation unix - n n - - pipe flags=Rq user=vacation argv=/usr/lib/postfixadmin/vacation.pl -f ${sender} -- ${recipient}
Missing: 7. Check the alias expansion
main.cf
Die Konfigurationsdatei /etc/postfix/main.cf
editieren
sudo vi /etc/postfix/main.cf
und folgende Zeile hinzufügen:
transport_maps = hash:/etc/postfix/transport
transport
DNS autoreply.<domain> muss lokal auflösbar sein
Die Datei /etc/postfix/transport
anlegen
sudo vi /etc/postfix/transport
und mit folgenden Inhalt befüllen:
autoreply.<domain> vacation:
Danach mittles dem Kommando postmap
eine Hash-Datenbank erzeugen:
sudo postmap /etc/postfix/transport
Zum Abschluss postfix
neu laden:
sudo postfix reload
vacation.conf
sudo mkdir -p /etc/postfixadmin/
sudo vi /etc/postfixadmin/vacation.conf
sudo chown root:vacation /etc/postfixadmin/vacation.conf sudo chmod 640 /etc/postfixadmin/vacation.conf
config.local.php
Die Datei config.local.php editieren
sudo vi /var/www/postfixadmin/config.local.php
und am Ende folgende Zeilen hinzufügen:
// If you want to use virtual vacation for you mailbox users set this to 'YES'. // NOTE: Make sure that you install the vacation module. (See VIRTUAL-VACATION/) $CONF['vacation'] = 'YES'; // This is the autoreply domain that you will need to set in your Postfix // transport maps to handle virtual vacations. It does not need to be a // real domain (i.e. you don't need to setup DNS for it). // This domain must exclusively be used for vacation. Do NOT use it for "normal" mail addresses. $CONF['vacation_domain'] = 'autoreply.kirner.or.at';
Probleme
Command died with status 255
Command died with status 255: "/usr/lib/postfixadmin/vacation.pl". Command output: Can't use 'defined(@array)' (Maybe you should just omit the defined()?) at /usr/share/perl5/Mail/Sender.pm line 318. Compilation failed in require at /usr/lib/postfixadmin/vacation.pl line 129. BEGIN failed--compilation aborted at /usr/lib/postfixadmin/vacation.pl line 129.
Aktuell noch keine Lösung
Links
http://craigballinger.com/blog/2009/08/postfix-vacation-autoresponder/
Zurück zu PostfixAdmin