Inhaltsverzeichnis
Dovecot Plugins
Diese Dokumentation ist nach dem Kurs: Dovecot bei www.heinlein-support.de - Peer Heinlein entstanden. Hier noch einmal meinen Dank für die Informationen und das ☛ Buch: Dovecot ☚ |
HINWEIS - Die Nachfolgende Konfiguration von Dovecot setzt eine lauffähige Installation von Dovecot voraus, wie unter nachfolgendem internen Link beschrieben !!!
Dovecot ist ein Open-Source-IMAP-und POP3-E-Mail-Server für Linux bzw. UNIX-ähnlichen Systeme, entwickelt mit dem Hauptaugenmerk auf Sicherheit. Dovecot ist eine ausgezeichnete Wahl für kleine und große Installationen. Dovecot ist schnell und einfach zu installieren, erfordert keine besonderen Voraussetzungen und ist Ressourcenschonend.
Dovecot wird von Timo Sirainen entwickelt.
Beschreibung | Externer Link |
---|---|
Homepage | http://dovecot.org |
Dokumentation | http://dovecot.org/documentation.html |
Wiki Dovecot2 | http://wiki2.dovecot.org/ |
Ab hier werden root
-Rechte zur Ausführung der nachfolgenden Befehle benötigt. Um root
zu werden geben Sie bitte folgenden Befehl ein:
$ su - Password:
Vorbereitung
Unter nachfolgendem externen Link, können ausgewählte Plugins für Dovecot nachgeschlagen werden:
HINWEIS - Die nachfolgend vorgestellten Plugins für Dovecot stellen eine sinnvolle Ergänzung des Funktionsumfangs dar, sind aber jedoch nicht zwingend erforderlich.
Plugin: mail_log
Das Plugin mail_log
für Dovecot ermöglicht es, alle IMAP-Aktionen die der e-Mail-Client durchgeführt hat, in der Log-Datei von Dovecot zu protokollieren, welche standardmäßig /var/log/maillog
ist.
Damit des Plugin mail_log
alle IMAP-Aktionen die der e-Mail-Client durchgeführt hat, auch in die Log-Datei von Dovecot schreiben zu können, ist zusätzlich das Plugin notify
ebenfalls einzusetzen.
Das Plugin notify
wird vom Plugin mail_log
dazu genutzt, über Änderungen an dem Postfach (Mailbox) des jeweiligen Benutzers, informiert zu werden!
/etc/dovecot/conf.d/10-mail.conf
In der Konfigurationsdatei wird festgelegt, welche Art von „Ablagesystem“ Mailbox-Format verwendet werden soll und wo die e-Mail (Postfächer) im Dateisystem abgelegt werden sollen und welche plugins verwendet werden.
mail_plugins
HINWEIS - Die hier nachfolgend ebenfalls schon aufgelistet Plugins stammen aus vorhergehenden Konfigurationen:
Um die beiden Plugins mail_log
und notify
zu laden und zu aktivieren, sind nachfolgende Ergänzungen erforderlich:
(Nur relevanter Ausschnitt)
# Space separated list of plugins to load for all services. Plugins specific to # IMAP, LDA, etc. are added to this list in their own .conf files. # Tachtler # default: #mail_plugins = mail_plugins = $mail_plugins quota acl zlib mail_log notify
HINWEIS - Neu hinzugekommen ist hier mail_log notify
!!!
/etc/dovecot/conf.d/10-logging.conf
In der Konfigurationsdatei /etc/dovecot/conf.d/10-logging.conf
sind die Einstellungen hinterlegt, wie und welche Informationen durch das Plugin mail_log
in die Log-Datei geschrieben werden.
HINWEIS - Es sind grundsätzlich keine Änderungen an den Standardeinstellungen erforderlich !!!
HINWIES - Nachfolgende Änderung kann die Nachvollziehbarkeit jedoch erhöhen, in dem die Ausgabe der Angabe from
mit in die Log-Datei aufgenommen wird.
(Nur relevanter Ausschnitt):
... # mail_log plugin provides more event logging for mail processes. plugin { # Events to log. Also available: flag_change append #mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename # Available fields: uid, box, msgid, from, subject, size, vsize, flags # size and vsize are available only for expunge and copy events. # Tachtler # default: #mail_log_fields = uid box msgid size mail_log_fields = uid box msgid size from } ...
HINWEIS - Auf die Ausgabe des Subjects/Betreffzeile sollte aus Datenschutzgründen verzichtet werden !!!
Neustart
Bevor der der dovecot
-Daemon/Dienst neu gestartet werden soll, ist eine Überprüfung der korrekten Konfiguration durch nachfolgenden Befehl, zu empfehlen
# doveconf -n # 2.2.18: /etc/dovecot/dovecot.conf # Pigeonhole version 0.4.8 (0c4ae064f307+) # OS: Linux 3.10.0-229.7.2.el7.x86_64 x86_64 CentOS Linux release 7.1.1503 (Core) auth_debug = yes auth_debug_passwords = yes auth_master_user_separator = * auth_mechanisms = plain digest-md5 cram-md5 login auth_verbose = yes hostname = imap.tachtler.net listen = * mail_debug = yes mail_location = maildir:~/Maildir mail_plugins = " quota acl zlib mail_log notify" managesieve_notify_capability = mailto managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date index ihave duplicate mbox_write_locks = fcntl namespace { list = children location = maildir:%%h/Maildir:INDEX=%h/shared/%%u:CONTROL=%h/shared/%%u prefix = shared/%%u/ separator = / subscriptions = yes type = shared } namespace inbox { inbox = yes location = mailbox Drafts { auto = subscribe special_use = \Drafts } mailbox Junk { auto = subscribe special_use = \Junk } mailbox Sent { auto = subscribe special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent } mailbox Trash { auto = subscribe special_use = \Trash } prefix = INBOX/ separator = / } passdb { args = /etc/dovecot/master-users driver = passwd-file master = yes pass = yes } passdb { args = scheme=CRYPT username_format=%u /etc/dovecot/users driver = passwd-file } plugin { acl = vfile acl_shared_dict = file:/var/lib/dovecot/db/shared-mailboxes.db mail_log_fields = uid box msgid size from quota = maildir:User quota quota_grace = 10%% quota_rule = *:storage=1G quota_rule2 = INBOX/Trash:storage=+100M quota_status_nouser = DUNNO quota_status_overquota = 552 5.2.2 Mailbox is over quota quota_status_success = DUNNO quota_warning = storage=95%% quota-warning 95 %u quota_warning2 = storage=80%% quota-warning 80 %u sieve = file:~/sieve;active=~/.dovecot.sieve zlib_save = gz zlib_save_level = 6 } postmaster_address = postmaster@tachtler.net protocols = imap lmtp sieve service auth { unix_listener auth-userdb { group = vmail user = vmail } } service imap-login { process_min_avail = 1 service_count = 0 } service lmtp { inet_listener lmtp { address = 192.168.0.80 port = 24 } } service managesieve-login { inet_listener sieve { address = 192.168.0.80 port = 4190 } } service quota-status { client_limit = 1 executable = quota-status -p postfix inet_listener { address = 192.168.0.80 port = 12340 } } service quota-warning { executable = script /usr/local/bin/quota-warning.sh unix_listener quota-warning { user = vmail } user = vmail } ssl_cert = </etc/pki/dovecot/certs/CAcert-class3-wildcard_all_in_one.crt ssl_cipher_list = ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA ssl_dh_parameters_length = 2048 ssl_key = </etc/pki/dovecot/private/tachtler.net.key ssl_prefer_server_ciphers = yes ssl_protocols = !SSLv2 !SSLv3 userdb { args = username_format=%u /etc/dovecot/users driver = passwd-file } verbose_proctitle = yes protocol lmtp { mail_plugins = " quota acl zlib mail_log notify sieve" } protocol imap { mail_max_userip_connections = 50 mail_plugins = " quota acl zlib mail_log notify imap_quota imap_acl imap_zlib" } protocol sieve { mail_max_userip_connections = 50 }
HINWEIS - die Konfiguration des dovecot
-Daemon/Dienst konnte korrekt gelesen werden, wenn die Konfiguration erscheint, was letztendlich zwar nicht bedeutet, das Sie auch korrekt ist, aber syntaktische Fehler ausschließt !!!
Danach kann der dovecot-Server mit nachfolgendem Befehle neu gestartet werden:
# service dovecot restart Stopping Dovecot Imap: [ OK ] Starting Dovecot Imap: [ OK ]
bzw.
# systemctl restart dovecot
Log-Ausgaben
Nach dem erfolgreichen Neustart von Dovecot, können nachfolgende Zeilen in der Log-Datei gefunden werden, wenn z.B.
- Eine e-Mail aus der INBOX in den Papierkorb verschoben wurde
- Eine e-Mail aus dem Papierkorb endgültig gelöscht wurde
(Nur relevanter Ausschnitt)
... ... dovecot: imap(klaus@tachtler.net): copy from INBOX: box=INBOX/Trash, uid=2, msgid=<20140424092849.E1AB1201DE@rechner80.dmz.tachtler.net>, size=641, from=petra@tachtler.net ... dovecot: imap(klaus@tachtler.net): expunge: box=INBOX, uid=2, msgid=<20140424092849.E1AB1201DE@rechner80.dmz.tachtler.net>, size=641, from=petra@tachtler.net ... ... dovecot: imap(klaus@tachtler.net): delete: box=INBOX/Trash, uid=2, msgid=<20140424092849.E1AB1201DE@rechner80.dmz.tachtler.net>, size=641, from=petra@tachtler.net ... dovecot: imap(klaus@tachtler.net): expunge: box=INBOX/Trash, uid=2, msgid=<20140424092849.E1AB1201DE@rechner80.dmz.tachtler.net>, size=641, from=petra@tachtler.net ...