Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
centos:mail_c7:dovecot_3 [05.08.2014 10:20. ] djangocentos:mail_c7:dovecot_3 [22.07.2019 14:42. ] django
Zeile 467: Zeile 467:
 } }
 </file> </file>
 +
 +===== Horde-Framework's Ingo =====
 +Die notwendigen Konfigurationseinstellungen bei der Applikation **[[http://www.horde.org/apps/ingo|ingo]]** ist auf folgenden [[centos:mail_c6:horde_8#konfiguration_des_backend-_imap-server|Seite]] ausführlich beschrieben.
 ===== Paketfilter / Firewall ===== ===== Paketfilter / Firewall =====
 Damit unsere Kunden mit Ihren Mailclients Verbindungen zum geöffneten Ports **4190** unseres Dovecot-Server aufbauen können, müssen wir für diese noch Änderungen am Paketfilter **firewalld** vornehmen. Damit unsere Kunden mit Ihren Mailclients Verbindungen zum geöffneten Ports **4190** unseres Dovecot-Server aufbauen können, müssen wir für diese noch Änderungen am Paketfilter **firewalld** vornehmen.
Zeile 531: Zeile 534:
  
 ===== Test ===== ===== Test =====
 +Unser ersten Funktionstest werden wir nun mit **SIEVE** via LMTP durchführen. Bei diesem folgenden Test nutzen wir die Authentifikations-Methode **PLAIN**. Die Anmeldedaten müssen dabei zum einen Base64 codiert werden und das Format **"\0<username>\0<password"** (mit **\0** als ASCII **NULL** Zeichen). 
 +   AUTHENTICATE "PLAIN" "<BASE64 codierte Anmeldedaten>"
  
 +Zum Erstellen dieses Anmeldestrings nutzen wir einfach das script **sieve-auth-command.pl** von //Stephan Bosch//.
 +   # vim /usr/local/bin/sieve-auth-command.pl
 +<file perl /usr/local/bin/sieve-auth-command.pl>#!/usr/bin/perl
 +#
 +# sieve-auth-command.pl
 +# ---------------------
 +#
 +# Generates ManageSieve AUTHENTICATE command for manually testing the protocol 
 +# using telnet or gnutls-cli (TLS)
 +#
 +# Usage:
 +#   sieve-auth-command.pl <username> <password>
 +#
 +# Prints the AUTHENTICATE "PLAIN" "<encoded>" command on standard out. 
 +#
 +# --
 +# Stephan Bosch, stephan@rename-it.nl
 +#
  
 +use MIME::Base64;
 +
 +use strict;
 +
 +my $username = shift;
 +my $password = shift;
 +
 +my $userpass = "\x00".$username."\x00".$password."";
 +my $encode=encode_base64($userpass);
 +
 +$encode =~ s/^\s+//;
 +$encode =~ s/\s+$//;
 +
 +print "AUTHENTICATE \"PLAIN\" \"$encode\"\r\n";
 +</file>
 +
 +Um das Script einfach ausführen zu können versehen wir nun noch die Datei-Rechte mit  einem **x**.
 +   # chmod +x /usr/local/bin/sieve-auth-command.pl
 +
 +Für unseren User **django@nausch.org** mit dem Passwort **Dj4n90_d3r_G33k!** erstellen wir nun unseren Anmeldestring.
 +   $ sieve-auth-command.pl django@nausch.org Dj4n90_d3r_G33k!
 +
 +   AUTHENTICATE "PLAIN" "AGRqYW5nb0BuYXVzY2gub3JnAERqNG45MF9kM3JfRzMzayE="
 +
 +Diesen Anmeldestring verwenden wir nun bei unserem ersten Test. Bei diesem SIEVE-Test via **telnet** sind die Eingaben am testenden Client in der Farbe <html><font style="color: rgb(0, 0, 255)">blau</font></html> und die Rückmeldungen unseres Dovecot-Servers in der Farbe <html><font style="color: rgb(0, 255, 0)">grün</font></html> gekennzeichnet. Die Ausgaben des Befehls **telnet** sind in der Farbe <html><font style="color: rgb(0, 0, 0)">schwarz</font></html> eingefärbt.
 +
 +Als erstes bauen wir eine Verbindung zu unserem Dovecot-Server zum **ManageSieve-Port** **4190** auf und melden uns mit unserem zuvor generierten Anmeldestring am Server an.
 +
 +<html><pre class="code">
 +<font style="color: rgb(0, 0, 255)">$ telnet 10.0.0.70 4190</font>
 +<font style="color: rgb(0, 0, 0)">Trying 10.0.0.70...
 +Connected to 10.0.0.70.
 +Escape character is '^]'.</font>
 +<font style="color: rgb(0, 255, 0)">&nbsp;"IMPLEMENTATION" "Dovecot Pigeonhole"
 +&nbsp;"SIEVE" "fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date ihave"
 +&nbsp;"NOTIFY" "mailto"
 +&nbsp;"SASL" "PLAIN LOGIN DIGEST-MD5 CRAM-MD5"
 +&nbsp;"STARTTLS"
 +&nbsp;"VERSION" "1.0"
 +&nbsp;OK "Dovecot ready."</font>
 +<font style="color: rgb(0, 0, 255)">AUTHENTICATE "PLAIN" "AGRqYW5nb0BuYXVzY2gub3JnAERqNG45MF9kM3JfRzMzayE="</font>
 +<font style="color: rgb(0, 255, 0)">&nbsp;OK "Logged in."</font>
 +</pre></html>
 +
 +Als erste Aktion fragen wir ab, welche SIEVE-Scruipte auf dem Server vorhanden sind. Da bis dato noch keine Scripte hinterlegt wurden, sit die Antwort des Servers natürlich etwas spartanisch, nämlich leer.
 +
 +<html><pre class="code">
 +<font style="color: rgb(0, 0, 255)">LISTSCRIPTS</font>
 +<font style="color: rgb(0, 255, 0)">&nbsp;OK "Listscripts completed."</font>
 +</pre></html>
 +
 +Nun wollen wir unser erstes SIEVE Script anlegen. Mit Hilfe dieses Scriptes werden alle Nachrichten sofort gelöscht, sobald diese im Betreff das Wörtchen **p0rn** enthält und der Postfix-MTA die Nachricht via **LMTP** an unseren Backend-server Dovecot übergibt. Das entsprechende Script könnte nun wie folgt aussehen.
 +
 +<code>if header :comparator "i;ascii-casemap" :contains "Subject" "p0rn"  {
 +    discard;
 +    stop;
 +}
 +</code>
 +
 +Das script hat insgesamt 96-Zeichen (gefolgt von einem abschließendem **CR**). Zusammen ergibt das also 97 Zeichen. Mit dem Befehl **PUTSCRIPT** laden wir nun dieses script zum Server hoch.
 +
 +<html><pre class="code">
 +<font style="color: rgb(0, 0, 255)">PUTSCRIPT "erste_sieve-regel_zum_testen" {97+}
 +if header :comparator "i;ascii-casemap" :contains "Subject" "p0rn"  {
 +    discard;
 +    stop;
 +}</font>
 +<font style="color: rgb(0, 255, 0)">&nbsp;OK "PUTSCRIPT completed."</font>
 +</pre></html>
 +
 +Fragen wir nun erneut ab, welche Scripte auf dem Server vorliegen, sehen wir auch unser erstes Testscript **erste_sieve-regel_zum_testen**.
 +
 +<html><pre class="code">
 +<font style="color: rgb(0, 0, 255)">LISTSCRIPTS</font>
 +<font style="color: rgb(0, 255, 0)">&nbsp;"erste_sieve-regel_zum_testen"
 +&nbsp;OK "Listscripts completed."</font>
 +</pre></html>
 +
 +Zum Scharfschalten des Scripts wird der Befehl **SETACTIVE** verwendet.
 +
 +<html><pre class="code">
 +<font style="color: rgb(0, 0, 255)">SETACTIVE "erste_sieve-regel_zum_testen"</font>
 +<font style="color: rgb(0, 255, 0)">&nbsp;OK "Setactive completed."</font>
 +</pre></html>
 +
 +Fragen wir nun erneut die Liste des SIEVE-Scripte ab, sehen wir ein **ACTIVE** hinter dem Scriptnamen **erste_sieve-regel_zum_testen**; d.h. dieses Script ist nunmehr aktiv.
 +
 +<html><pre class="code">
 +<font style="color: rgb(0, 0, 255)">LISTSCRIPTS</font>
 +<font style="color: rgb(0, 255, 0)">&nbsp;"erste_sieve-regel_zum_testen" ACTIVE
 +&nbsp;OK "Listscripts completed."</font>
 +</pre></html>
 +
 +Wollen wir ein script Herunterladen verwenden wir den Befehl **GETSCRIPT**.
 +
 +<html><pre class="code">
 +<font style="color: rgb(0, 0, 255)">GETSCRIPT "erste_sieve-regel_zum_testen"</font>
 +<font style="color: rgb(0, 255, 0)">&nbsp;{97}
 +&nbsp;if header :comparator "i;ascii-casemap" :contains "Subject" "p0rn"  {
 +     discard;
 +     stop;
 +&nbsp;}
 +&nbsp;OK "Getscript completed."</font>
 +</pre></html>
 +
 +Zu guter Letzt melden wir uns nun von unserem Server mit dem Befehl **LOGOUT** wieder ab.
 +
 +
 +<html><pre class="code">
 +<font style="color: rgb(0, 0, 255)">LOGOUT</font>
 +<font style="color: rgb(0, 255, 0)">&nbsp;OK "Logout completed."</font>
 +<font style="color: rgb(0, 0, 0)">Connection closed by foreign host.</font>
 +</pre></html>
 +
 +Im Verzeischnis des Users **django@nausch.org** finden wir nun auch das Verzeichnis //**/srv/vmail/nausch.org/django/sieve**// in dem die SIEVE-Scripte abgelegt werden. 
 +
 +<code>/srv/vmail/nausch.org/django/
 +├── .dovecot.sieve -> sieve/erste_sieve-regel_zum_testen.sieve
 +├── Maildir/
 +│   ├── cur/
 +│   │   └── 1407189625.M304698P4532.vml000070.dmz.nausch.org,S=409,W=422:2,
 +│   ├── dovecot.index.cache
 +│   ├── dovecot.index.log
 +│   ├── dovecot.mailbox.log
 +│   ├── dovecot-uidlist
 +│   ├── dovecot-uidvalidity
 +│   ├── dovecot-uidvalidity.53dfa2ad
 +│   ├── .Drafts/
 +│   │   ├── cur/
 +│   │   ├── dovecot.index.log
 +│   │   ├── dovecot-uidlist
 +│   │   ├── maildirfolder
 +│   │   ├── new/
 +│   │   └── tmp/
 +│   ├── new/
 +│   ├── .Sent/
 +│   │   ├── cur/
 +│   │   ├── dovecot.index.log
 +│   │   ├── dovecot-uidlist
 +│   │   ├── maildirfolder
 +│   │   ├── new/
 +│   │   └── tmp/
 +│   ├── subscriptions
 +│   └── tmp/
 +└── sieve/
 +    ├── erste_sieve-regel_zum_testen.sieve
 +    └── tmp/
 +</code>
 +
 +Das aktive Script erkennen wir an dem symlink //**.dovecot.sieve**// im **HOME**-Verzeichnis des Users.
 +   # ll /srv/vmail/nausch.org/django/.dovecot.sieve 
 +
 +   lrwxrwxrwx 1 vmail vmail 40 Aug  5 13:01 /srv/vmail/nausch.org/django/.dovecot.sieve -> sieve/erste_sieve-regel_zum_testen.sieve
 +
 +Im Maillog wurden unsere SIEVE-Script Aktivitäten mit Hilfe des Mail-Plugins **ManageSieve** dokumentiert.
 +<code>Aug  5 12:58:29 vml000070 dovecot: managesieve-login: Login: user=<django@nausch.org>, method=PLAIN, rip=10.0.0.70, mpid=5212, secured, session=<4sFTvN//sAAKAABG>
 +Aug  5 12:58:29 vml000070 dovecot: managesieve(django@nausch.org): Debug: Effective uid=10000, gid=10000, home=/srv/vmail/nausch.org/django
 +Aug  5 12:58:29 vml000070 dovecot: managesieve(django@nausch.org): Debug: Namespace inbox: type=private, prefix=INBOX/, sep=/, inbox=yes, hidden=no, list=yes, subscriptions=yes location=maildir:/srv/vmail/nausch.org/django/Maildir
 +Aug  5 12:58:29 vml000070 dovecot: managesieve(django@nausch.org): Debug: maildir++: root=/srv/vmail/nausch.org/django/Maildir, index=, indexpvt=, control=, inbox=/srv/vmail/nausch.org/django/Maildir, alt=
 +Aug  5 12:58:29 vml000070 dovecot: managesieve(django@nausch.org): Debug: Namespace : type=private, prefix=, sep=, inbox=no, hidden=yes, list=no, subscriptions=no location=fail::LAYOUT=none
 +Aug  5 12:58:29 vml000070 dovecot: managesieve(django@nausch.org): Debug: none: root=, index=, indexpvt=, control=, inbox=, alt=
 +Aug  5 12:58:29 vml000070 dovecot: managesieve(django@nausch.org): Debug: sieve: Pigeonhole version 0.4.2 initializing
 +Aug  5 12:58:29 vml000070 dovecot: managesieve(django@nausch.org): Debug: sieve: include: sieve_global_dir is not set; it is currently not possible to include `:global' scripts.
 +Aug  5 12:58:29 vml000070 dovecot: managesieve(django@nausch.org): Debug: sieve-storage: using active sieve script path: /srv/vmail/nausch.org/django/.dovecot.sieve
 +Aug  5 12:58:29 vml000070 dovecot: managesieve(django@nausch.org): Debug: sieve-storage: using sieve script storage directory: /srv/vmail/nausch.org/django/sieve
 +Aug  5 12:58:29 vml000070 dovecot: managesieve(django@nausch.org): Debug: sieve-storage: using permissions from /srv/vmail/nausch.org/django/sieve: mode=0700 gid=-1
 +Aug  5 12:58:29 vml000070 dovecot: managesieve(django@nausch.org): Debug: sieve-storage: relative path to sieve storage in active link: sieve/
 +Aug  5 12:59:09 vml000070 dovecot: managesieve(django@nausch.org): Disconnected: Logged out bytes=6/41
 +Aug  5 12:59:25 vml000070 dovecot: master: Warning: Killed with signal 15 (by pid=1 uid=0 code=kill)
 +Aug  5 12:59:25 vml000070 dovecot: imap-login: Warning: Killed with signal 15 (by pid=1 uid=0 code=kill)
 +Aug  5 12:59:25 vml000070 dovecot: anvil: Warning: Killed with signal 15 (by pid=1 uid=0 code=kill)
 +Aug  5 12:59:25 vml000070 dovecot: log: Warning: Killed with signal 15 (by pid=1 uid=0 code=kill)
 +Aug  5 13:00:00 vml000070 dovecot: master: Dovecot v2.2.13 starting up for imap, pop3, lmtp, sieve (core dumps disabled)
 +Aug  5 13:00:18 vml000070 dovecot: managesieve-login: Login: user=<django@nausch.org>, method=PLAIN, rip=10.0.0.70, mpid=5262, secured, session=<4prRwt//sQAKAABG>
 +Aug  5 13:00:18 vml000070 dovecot: managesieve(django@nausch.org): Debug: Effective uid=10000, gid=10000, home=/srv/vmail/nausch.org/django
 +Aug  5 13:00:18 vml000070 dovecot: managesieve(django@nausch.org): Debug: Namespace inbox: type=private, prefix=INBOX/, sep=/, inbox=yes, hidden=no, list=yes, subscriptions=yes location=maildir:/srv/vmail/nausch.org/django/Maildir
 +Aug  5 13:00:18 vml000070 dovecot: managesieve(django@nausch.org): Debug: maildir++: root=/srv/vmail/nausch.org/django/Maildir, index=, indexpvt=, control=, inbox=/srv/vmail/nausch.org/django/Maildir, alt=
 +Aug  5 13:00:18 vml000070 dovecot: managesieve(django@nausch.org): Debug: Namespace : type=private, prefix=, sep=, inbox=no, hidden=yes, list=no, subscriptions=no location=fail::LAYOUT=none
 +Aug  5 13:00:18 vml000070 dovecot: managesieve(django@nausch.org): Debug: none: root=, index=, indexpvt=, control=, inbox=, alt=
 +Aug  5 13:00:18 vml000070 dovecot: managesieve(django@nausch.org): Debug: sieve: Pigeonhole version 0.4.2 initializing
 +Aug  5 13:00:18 vml000070 dovecot: managesieve(django@nausch.org): Debug: sieve: include: sieve_global_dir is not set; it is currently not possible to include `:global' scripts.
 +Aug  5 13:00:18 vml000070 dovecot: managesieve(django@nausch.org): Debug: sieve-storage: using active sieve script path: /srv/vmail/nausch.org/django/.dovecot.sieve
 +Aug  5 13:00:18 vml000070 dovecot: managesieve(django@nausch.org): Debug: sieve-storage: using sieve script storage directory: /srv/vmail/nausch.org/django/sieve
 +Aug  5 13:00:18 vml000070 dovecot: managesieve(django@nausch.org): Debug: sieve-storage: permission lookup failed from /srv/vmail/nausch.org/django/sieve
 +Aug  5 13:00:18 vml000070 dovecot: managesieve(django@nausch.org): Debug: sieve-storage: created storage directory /srv/vmail/nausch.org/django/sieve/tmp
 +Aug  5 13:00:18 vml000070 dovecot: managesieve(django@nausch.org): Debug: sieve-storage: relative path to sieve storage in active link: sieve/
 +Aug  5 13:02:09 vml000070 dovecot: managesieve(django@nausch.org): Disconnected: Logged out bytes=276/385
 +</code>
 +
 +Zum Abschluß unseres Tests liefern wir nun eine Nachricht via **LMTP** bei unserem Dovecot-Server ein.
 +
 +<html><pre class="code">
 +<font style="color: rgb(0, 0, 255)">$ telnet 10.0.0.70 24</font>
 +<font style="color: rgb(0, 0, 0)">Trying 10.0.0.70...
 +Connected to 10.0.0.70.
 +Escape character is '^]'.</font>
 +<font style="color: rgb(0, 255, 0)">&nbsp;220 imap.nausch.org Dovecot ready.</font>
 +<font style="color: rgb(0, 0, 255)">LHLO mx01.nausch.org</font>
 +<font style="color: rgb(0, 255, 0)">&nbsp;250-imap.nausch.org
 +&nbsp;250-8BITMIME
 +&nbsp;250-ENHANCEDSTATUSCODES
 +&nbsp;250 PIPELINING</font>
 +<font style="color: rgb(0, 0, 255)">mail from:&lt;michael@nausch.org&gt;</font>
 +<font style="color: rgb(0, 255, 0)">&nbsp;250 2.1.0 OK</font>
 +<font style="color: rgb(0, 0, 255)">rcpt to:&lt;django@nausch.org&gt;</font>
 +<font style="color: rgb(0, 255, 0)">&nbsp;250 2.1.5 OK</font>
 +<font style="color: rgb(0, 0, 255)">DATA</font>
 +<font style="color: rgb(0, 255, 0)">&nbsp;354 OK</font>
 +<font style="color: rgb(0, 0, 255)">From: Michael Nausch <michael@nausch.org>
 +To: Django [BOfH] <django@nausch.org>
 +Subject: Haben Du Interesse an p0rn?
 +Date: Mon, 21 Jul 2014 09:00:36 -0000
 +
 +HI,     
 +wenn Du haben willst lot of p0rn, Du mir sagen.
 +Ich habe sehr viel davon.
 +
 +ttyl
 +Bazibua
 +.</font>
 +<font style="color: rgb(0, 255, 0)">&nbsp;250 2.0.0 <django@nausch.org> fs6GLxrC4FO0FAAAOs1BfA Saved</font>
 +<font style="color: rgb(0, 0, 255)">quit</font>
 +<font style="color: rgb(0, 255, 0)">&nbsp;221 2.0.0 OK</font>
 +<font style="color: rgb(0, 0, 0)">Connection closed by foreign host.</font>
 +</pre></html>
 +
 +
 +Im Maillog sehen wir nun, dass die Nachricht nicht zugestellt, sonder gelöscht wurde **marked message to be discarded if not explicitly delivered (discard action)**.
 +
 +<code>Aug  5 13:38:02 vml000070 dovecot: lmtp(5300): Debug: none: root=, index=, indexpvt=, control=, inbox=, alt=
 +Aug  5 13:38:02 vml000070 dovecot: lmtp(5300): Connect from 10.0.0.80
 +Aug  5 13:38:24 vml000070 dovecot: lmtp(5300): Debug: Loading modules from directory: /usr/lib64/dovecot
 +Aug  5 13:38:24 vml000070 dovecot: lmtp(5300): Debug: Module loaded: /usr/lib64/dovecot/lib90_sieve_plugin.so
 +Aug  5 13:38:24 vml000070 dovecot: lmtp(5300): Debug: auth input: django@nausch.org uid=10000 gid=10000 home=/srv/vmail/nausch.org/django
 +Aug  5 13:39:59 vml000070 dovecot: lmtp(5300, django@nausch.org): Debug: Effective uid=10000, gid=10000, home=/srv/vmail/nausch.org/django
 +Aug  5 13:39:59 vml000070 dovecot: lmtp(5300, django@nausch.org): Debug: Namespace inbox: type=private, prefix=INBOX/, sep=/, inbox=yes, hidden=no, list=yes, subscriptions=yes location=maildir:/srv/vmail/nausch.org/django/Maildir
 +Aug  5 13:39:59 vml000070 dovecot: lmtp(5300, django@nausch.org): Debug: maildir++: root=/srv/vmail/nausch.org/django/Maildir, index=, indexpvt=, control=, inbox=/srv/vmail/nausch.org/django/Maildir, alt=
 +Aug  5 13:39:59 vml000070 dovecot: lmtp(5300, django@nausch.org): Debug: Namespace : type=private, prefix=, sep=, inbox=no, hidden=yes, list=no, subscriptions=no location=fail::LAYOUT=none
 +Aug  5 13:39:59 vml000070 dovecot: lmtp(5300, django@nausch.org): Debug: none: root=, index=, indexpvt=, control=, inbox=, alt=
 +Aug  5 13:39:59 vml000070 dovecot: lmtp(5300, django@nausch.org): Debug: sieve: Pigeonhole version 0.4.2 initializing
 +Aug  5 13:39:59 vml000070 dovecot: lmtp(5300, django@nausch.org): Debug: sieve: include: sieve_global_dir is not set; it is currently not possible to include `:global' scripts.
 +Aug  5 13:39:59 vml000070 dovecot: lmtp(5300, django@nausch.org): Debug: fs6GLxrC4FO0FAAAOs1BfA: sieve: using the following location for user's Sieve script: /srv/vmail/nausch.org/django/.dovecot.sieve;name=main script
 +Aug  5 13:39:59 vml000070 dovecot: lmtp(5300, django@nausch.org): Debug: fs6GLxrC4FO0FAAAOs1BfA: sieve: loading script /srv/vmail/nausch.org/django/.dovecot.sieve;name=main script
 +Aug  5 13:39:59 vml000070 dovecot: lmtp(5300, django@nausch.org): Debug: fs6GLxrC4FO0FAAAOs1BfA: sieve: script `main script' from /srv/vmail/nausch.org/django/.dovecot.sieve;name=main script successfully compiled
 +Aug  5 13:39:59 vml000070 dovecot: lmtp(5300, django@nausch.org): Debug: fs6GLxrC4FO0FAAAOs1BfA: sieve: executing script from /srv/vmail/nausch.org/django/.dovecot.sieve;name=main script
 +Aug  5 13:39:59 vml000070 dovecot: lmtp(5300, django@nausch.org): fs6GLxrC4FO0FAAAOs1BfA: sieve: msgid=unspecified: marked message to be discarded if not explicitly delivered (discard action)
 +Aug  5 13:40:03 vml000070 dovecot: lmtp(5300): Disconnect from 10.0.0.80: Successful quit
 +</code>
 +
 +
 +
 +
 +
 +
 +
 +Im Verzeichnis des Users **django@nausch.org** sehen wir keine neue Nachricht, da diese mit Hilfe des SIEVE-scriptes sofort gelöscht wurde.
 +<code>/srv/vmail/nausch.org/django/
 +├── .dovecot.sieve -> sieve/erste_sieve-regel_zum_testen.sieve
 +├── .dovecot.svbin
 +├── Maildir/
 +│   ├── cur/
 +│   │   └── 1407189625.M304698P4532.vml000070.dmz.nausch.org,S=409,W=422:2,
 +│   ├── dovecot.index.cache
 +│   ├── dovecot.index.log
 +│   ├── dovecot.mailbox.log
 +│   ├── dovecot-uidlist
 +│   ├── dovecot-uidvalidity
 +│   ├── dovecot-uidvalidity.53dfa2ad
 +│   ├── .Drafts/
 +│   │   ├── cur/
 +│   │   ├── dovecot.index.log
 +│   │   ├── dovecot-uidlist
 +│   │   ├── maildirfolder
 +│   │   ├── new/
 +│   │   └── tmp/
 +│   ├── new/
 +│   ├── .Sent/
 +│   │   ├── cur/
 +│   │   ├── dovecot.index.log
 +│   │   ├── dovecot-uidlist
 +│   │   ├── maildirfolder
 +│   │   ├── new/
 +│   │   └── tmp/
 +│   ├── subscriptions
 +│   └── tmp/
 +└── sieve/
 +    ├── erste_sieve-regel_zum_testen.sieve
 +    └── tmp/
 +</code>
 +
 +===== Test =====
 +//... in Bearbeitung (Vorankündigung)! ...//
 ====== Links ====== ====== Links ======
   * **[[centos:mail_c7:start|Zurück zum Kapitel >>Mailserverinstallation unter CentOS 7<<]]**   * **[[centos:mail_c7:start|Zurück zum Kapitel >>Mailserverinstallation unter CentOS 7<<]]**
   * **[[wiki:start|Zurück zu >>Projekte und Themenkapitel<<]]**   * **[[wiki:start|Zurück zu >>Projekte und Themenkapitel<<]]**
   * **[[http://dokuwiki.nausch.org/doku.php/|Zurück zur Startseite]]**   * **[[http://dokuwiki.nausch.org/doku.php/|Zurück zur Startseite]]**
- 
-~~DISCUSSION~~ 
  
  
  • centos/mail_c7/dovecot_3.txt
  • Zuletzt geändert: 12.03.2024 12:31.
  • von django