PostfixAdmin Autoresponder (Ubuntu 16.04): Unterschied zwischen den Versionen

Aus Tutorials
Zur Navigation springen Zur Suche springen
 
(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 ''main.cf'' editieren
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 ''transport'' anlegen
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 vacationausfü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