PostfixAdmin Autoresponder (Ubuntu 16.04): Unterschied zwischen den Versionen

Aus Tutorials
Zur Navigation springen Zur Suche springen
 
(25 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
{{note|Noch in Bearbeitung}}
{{note|Noch in Bearbeitung - Probleme mit Perl}}




==== Allgemein ====
== Allgemein ==


Die Installation ist in der Datei [[Medium:INSTALL.TXT|/var/www/postfixadmin/VIRTUAL_VACATION/INSTALL.TXT]] beschrieben.
Die Installation ist in der Datei [[Medium:INSTALL.TXT|/var/www/postfixadmin/VIRTUAL_VACATION/INSTALL.TXT]] beschrieben.


==== Installation ====
== Vorausetzungen ==


===== Pakete installieren =====
[[Postfix (Ubuntu 16.04)|Postfix]] muss bereits installiert sein.
 
== Installation ==
 
=== Pakete installieren ===


Laut <code>/var/www/postfixadmin/VIRTUAL_VACATION/vacation.pl</code> sind folgende zusätzliche Pakete notwendig:
Laut <code>/var/www/postfixadmin/VIRTUAL_VACATION/vacation.pl</code> sind folgende zusätzliche Pakete notwendig:
Zeile 19: Zeile 23:
</pre>
</pre>


===== Script =====
=== Script ===


Da der Mailinhalt möglicherweise gefährlich sein kann, wird ein lokaler Benutzer <code>vacation</code> dafür angelegt:
Da der Mailinhalt möglicherweise gefährlich sein kann, wird ein lokaler Benutzer <code>vacation</code> dafür angelegt:
Zeile 37: Zeile 41:
</pre>
</pre>


== Konfiguration ==
=== Postfix ===
==== master.cf ====
Die Datei <code>/etc/postfix/master.cf</code> bearbeiten
<pre>
sudo vi /etc/postfix/master.cf
</pre>
und am Ende folgenden Transport-Typ hinzufügen:


<pre>
<pre>
/etc/postfix/master.cf
# PostfixAdmin Autoresponder
vacation    unix  -      n      n      -      -      pipe
  flags=Rq user=vacation argv=/usr/lib/postfixadmin/vacation.pl -f ${sender} -- ${recipient}
</pre>
</pre>


==== config.local.php ====
{{note|Missing: 7. Check the alias expansion}}
 
==== main.cf ====
 
Die Konfigurationsdatei <code>/etc/postfix/main.cf</code> editieren
 
<pre>
sudo vi /etc/postfix/main.cf
</pre>
 
und folgende Zeile hinzufügen:
 
<pre>
transport_maps = hash:/etc/postfix/transport
</pre>
 
==== transport ====
 
{{note|DNS autoreply.<domain> muss lokal auflösbar sein}}
 
Die Datei <code>/etc/postfix/transport</code> anlegen
 
<pre>
sudo vi /etc/postfix/transport
</pre>
 
und mit folgenden Inhalt befüllen:
 
<pre>
autoreply.<domain>          vacation:
</pre>
 
Danach mittles dem Kommando <code>postmap</code> eine Hash-Datenbank erzeugen:
 
<pre>
sudo postmap /etc/postfix/transport
</pre>
 
Zum Abschluss <code>postfix</code> neu laden:
 
<pre>
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>
 
=== config.local.php ===


Die Datei config.local.php editieren
Die Datei config.local.php editieren
Zeile 64: Zeile 142:
</pre>
</pre>


==== Links ====
== 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 ==


[http://craigballinger.com/blog/2009/08/postfix-vacation-autoresponder/ http://craigballinger.com/blog/2009/08/postfix-vacation-autoresponder/]
[http://craigballinger.com/blog/2009/08/postfix-vacation-autoresponder/ http://craigballinger.com/blog/2009/08/postfix-vacation-autoresponder/]




Zurück zu [[PostfixAdmin (Ubuntu 16.04)]]
Zurück zu [[PostfixAdmin (Ubuntu 16.04)#Automatische Urlaub Antwortmails|PostfixAdmin]]

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