Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:dovecot_plugins

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.

  1. Eine e-Mail aus der INBOX in den Papierkorb verschoben wurde
  2. 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
...
Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
tachtler/dovecot_plugins.txt · Zuletzt geändert: 2015/07/12 09:31 von klaus