Jump to content
Froxlor Forum
  • 0

Abwesenheitsnachrichten und Sieve-Filter


merlin

Question

Hallo,

ich habe Froxlor +Postfix +Dovecot +Roundcube +Sieve f?r mehrere Domain (mit/ohne Firmenadministrator) ohne Probleme im Einsatz. Die Abwesenheitsbenachrichtigung finde ich aber nicht optimal, vor allem wenn das Mailkonto zwischenzeitliche "gelesen" wird.
Und: die Abwesenheitsbenachrichtigung kann per Froxlor nur der Domainnutzer anlegen, nicht jeder Mailnutzer selbst ... f?r eine Eintragung muss also immer der Admin "bem?ht" werden

Alternativ: Sieve enth?lt einen Filter, der das erledigt.
Die Benachrichtigung per Sieve-Filter kann jeder Nutzer selbst machen (muss sich nur bei Roundcube anmelden) aber vor allen in Firmen kennt oft nur der Admin die Passw?rter und muss dann jedes Konto einzeln bearbeiten.

Optiomal w?re, wenn man die Abwesenheit pro Postfach f?r die Domain mit einer Oberfl?che nutzerabh?ngig bedienen kann (Domainutzer=alle, Mailnutzer= nur das eigene Konto) und wenn die Benachrichtigung auch funktioniert wenn zwischdurch das Postfach gelesen wird.

Ich habe daf?r keine andere L?sung gefunden, als per sieve-Filter f?r jedes Mailkonto vordefinierten Abwesenheitsregeln anzulegen, die der Mailnutzer ein/aus schalten kann und dann dieses Ein/Ausschalten auch per Froxlor dem Domainnutzer zu erm?glichen ...

L?sung
------
die ich hier zur Verbesserung/Diskussion zur Verf?gung stelle funktioniert jetzt so, dass:
- der Domainnutzer Abwesenheitsnachrichten (von-bis) per Froxlor einrichten und aktivieren KANN.
- das der Mailnutzer ?ber Roundcube den Abwesenheitsfilter einstellen KANN,
mit den Einschr?nkungen:
wenn Froxlor aktiviert ist, kann der Mailnutzer nur den Nachrichtentext ?ndern, aber nicht das End-Datum aufheben.
(beim deaktivieren des Sieve-Filters durch den Mailuser wird der dann wieder mit den Einstellungen aus Froxlor ?berschrieben:)
- die Einstellungen des Mailnutzers per Sieve sofort g?ltig sind, wenn der Domainnutzer in Froxlor KEINE Einstellungen vornimmt (Benachrichtigung = NICHT AKTIV).
- eine Aktivierung der Abwesenheit in Froxlor die Einstellungen des Mailnutzers ?BERSCHREIBT
in der Art:
-> AB den Start-Datum mit dem Text aus Froxlor.
-> Am End-Datum wird der Sieve-Eintrag des Mailkontos deaktiviert und die Aktivierung im Froxlor auf "NEIN" gesetzt.

unsch?n: eine vorzeitige Deaktivierung einer aktiven Benachrichtigung in Froxlor ist nur durch Anpassen des End-Datums m?glich, d.h der Domainnutzer darf das NICHT durch setzen der Aktiv-Checkbox DEAKTIVIEREN! (na gut: kann er machen, muss dann aber im Sieve-Filter auch deaktivieren)

Umsetzung:
----------
Der Cronjob f?r Abwesenheit wird deaktiviert.
Anlegen eines Sieve-Scriptes, dass bei allen Konten eingespielt wird (macht hier maildrop bei der 1.Mail), mit Inhalt:

require ["fileinto","vacation", ...];
...
# rule:[Abwesend]
if false # true
{
vacation :days 5 text:
Vielen Dank f?r Ihre email. Die ist ein Test bla bla
.
;
}


Ablauf
------
per (regelm??igem) Perlscript (durch cronjob alle x Stunden, eigentlich nur um 00:01 ausreichend :-) wird nun gepr?ft, ob in Froxlor eine Benachrichtigung aktiv ist und ob die aktuelle Zeit im Zeitrahmen der Abwesenheitsbenachrichtigung liegt.
Also:
-> Zeitraum zw. Start und Ende?
-> wenn ja, wird die sieve-Datei f?r das Mailkonto eingelesen und abgearbeitet
-> wird die Zeile mit rule:Abwesend gefunden -> pr?fen, ob "if true" folgt
-> bei ja -> fertig
-> bei nein: die Regel wird aktiviert und der Nachrichtentext aus Froxlor wird eingelesen
-> die sieve-Datei wird gespeichert und die Benachrichtigung ist damit ab sofort aktiv

AUS:
-> die Regel ist aktiv, aber der Ende-Zeitraum ist ?berschritten
-> sieve-Datei einlesen
-> wird die Zeile mit rule:Abwesend gefunden -> pr?fen, ob "if true"
-> bei ja -> "if false" schreiben und Regel speichern
-> Froxlor Datenbankeintrag auf "0" (Nein) schreiben, fertig

Das Perlscript dazu gibt es dann hier im n?chsten Beitrag, wenn Interesse besteht ...



mfg

J?rgen
Link to comment
Share on other sites

2 answers to this question

Recommended Posts

und noch einfacher: Sieve einrichten -> die kunden ihre sieve-regeln selber machen lassen (die meisten brauchen sowas doch eh nicht) - roundcube kann z.B. das plugin managesieve nutzen und f?r diverse clients gibts auch managesieve implementierungen...

Link to comment
Share on other sites

ja, hab ich auch so gemacht.

Mit vordefinierten Sieveregeln ist nur, um dem Kunden "stressfrei" zu halten und einen Standard f?r das Script zu definieren.

Aber es gibt auch Kunden, wo der "Admin (Domainnutzer)" die Mails und Abwesenheit verwaltet und der braucht sich bei Froxlor nur 1 Passwort merken :-)

Und die meisten Konten werden per POP abgerufen - da merkt sich keiner sein Passwort f?r Webmail - darum hab ich das inzwischen so angepast, dass jeder Kontoinhaber durch das Senden einer Mail die Abwesenheit mit Datum und Inhalt aktivieren kann (ein Perlscript schreibt das in Froxlor und daraus wird der Sievefilter gef?llt).

Da es funktioniert, muss ja nicht das Rad 2x erfunden werden. Verbesserungen oder "saubere" L?sungen nehm ich aber gern an...

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...