Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:dovecot_tuning

Dovecot Tuning

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

Bei einer kleinen Dovecot Installation mit unter 100 Benutzers, sind die Standardwerte in Sachen Tuning normalerweise sinnvoll gesetzt.

Trotzdem können verschiedene Einstellungen betrachtet werden um Tuningansätze zu sehen und ggf. umzusetzen.

Folgende Faktoren wirken sich auf die Performance von Dovecot direkt aus:

  • CPU's
  • RAM
  • HDD-Geschwindigkeit
  • OS-Einstellungen z.B. (max. file handles)

Nachfolgende Themen dienen der Performance Steigerung und kommen erst bei größeren Installationen zum Einsatz.

Konfiguration: Angemeldete Benutzer

Dovecot kann sich vor Überlastung schützen. Nachfolgende Standard-Einstellungen zeigen die

  • Anzahl der Clients pro Prozess
  • Anzahl der Prozesse
  • Maximaler Speicherverbrauch eines Prozesses

was mit nachfolgender Abfrage überprüft werden kann:

# doveconf -d | grep default_ | grep _limit
default_client_limit = 1000
default_process_limit = 100
default_vsz_limit = 256 M

* 100.000 angemeldete Benutzer (1000 Benutzer a 100 Prozesse) mit max. 25,6 GB RAM

Im Bereich des pop3- oder imap-Moduls benötigt der Client jedoch einen eigenen Prozess. Dann spielt der eingestellte Wert unter client_limit keine Rolle mehr. Dadurch kann es passieren, wenn sich 100 Benutzer gleichzeitig anmelden, das das process_limit erreicht werden kann und keine Anmeldungen mehr möglich sind.

/etc/dovecot/conf.d/10-master.conf

Abhilfe würde hier die Erhöhung des Wertes process_limit schaffen. Dies kann in nachfolgender Konfigurationsdatei

  • /etc/dovecot/conf.d/10-master.conf

durch verändern der nachfolgenden auskommentierten Zeilen erfolgen. Auch der Wert des vsz_limit kann hier beeinflusst werden: (Nur relevanter Ausschnitt)

...
service imap {
  # Most of the memory goes to mmap()ing files. You may need to increase this
  # limit if you have huge mailboxes.
  #vsz_limit = $default_vsz_limit
 
  # Max. number of IMAP processes (connections)
  #process_limit = 1024
}
...

Konfiguration: Anmeldeprozesse

Wie bereits beschrieben im Bereich des pop3- oder imap-Moduls beschrieben, benötigt jeder Client hier einen eigenen Prozess zur Anmeldung.

Dazu soll kurz skizziert werden, was passiert, wenn sich ein Benutzer (Client) via IMAP beim Dovecot anmeldet.

Es werden dazu zwei Prozesse,

  • imap-login und
  • imap

nacheinander abgearbeitet, wobei jeder Client standardmäßig einen eignen imap_login Prozess zuerst benötigt um ggf. die SSL/TLS-Verbindung zu terminieren und die Anmeldung durchzuführen.

Anschließend, nachdem der Benutzer (Client) angemeldet ist, übernimmt der imap-Prozess die weitere Kommunikation mit dem eigentlichen IMAP-Protokoll.

Das führt dazu, das jeder angemeldete Benutzer mindestens zwei Prozesse in der Prozessliste stehen hat.

:!: HINWEIS - Da die Anmeldung extrem schnell von statten geht ist dies bei kleinen Installation kaum zu sehen, auch nachfolgender Befehl hilft hier nur bedingt weiter:

# doveadm who
username           # proto (pids)  (ips)                                                             
klaus@tachtler.net 1 imap  (12216) (192.168.0.80)

Wenn man allerdings nachfolgende Auflistung der Prozessliste mit nachfolgendem Befehl,

# watch -d -n1 'ps auxwf | grep dove >> /tmp/dovecot-test.txt'
jede Sekunde in eine Datei schreiben lässt, kann man nachfolgende Zeilen entdecken

(Nur relevanter Ausschnitt)

...
root     17452  0.0  0.0  23824  1380 ?        Ss   06:53   0:00 /usr/sbin/dovecot
dovecot  17454  0.0  0.0  13304  1144 ?        S    06:53   0:00  \_ dovecot/anvil [2 connections]
...
dovenull 12513  0.0  0.1  42348  3292 ?        S    16:27   0:00  \_ dovecot/imap-login [192.168.0.80]
...

:!: HINWEIS - Zum Test, bitte keine Anmeldung via Webmailer durchführen, da hier keine dauerhaften Verbindungen aufgebaut werden, da das Protokoll HTTP grundsätzlich ein Zustandsloses Protokoll ist !!!

Dieses Standard-Verhalten hat Vor- und Nachteile.

Vorteil:

  • Der Prozess imap-login würde unter den Rechten des Benutzer laufen, was eine Sicherheitsvorteil bringt

Nachteil:

  • Bei vielen tausend angemeldeten Benutzern, belasten die vielen imap-login-Prozesse den Server

Da in vorhergehender Konfiguration, siehe nachfolgenden internen Link

bereits auf die Verwendung eines Dummy-Benutzers umgestellt wurde, kann für die Anmeldung dieser Dummy-Benutzer ebenfalls für alle Benutzer Anmeldungen (Clients) ein gemeinsamer imap-login-Prozess, verwendet werden.

:!: WICHTIG - Als Faustregel gilt, nur so viele imap-login-Prozesse zu verwende, wie CPU's zur Verfügung stehen!

/etc/dovbecot/conf.d/10-master.conf

Nachfolgende Einstellungen bewirken, das keine weiteren imap-login Prozesse gestartet werden, wenn neue Benutzer Anmeldungen (Clients) eintreffen, jedoch sollen dafür immer zwei imap-login Prozesse bereits stehen. (Zwei imap-login Prozesse = 2 CPU's).

(Nur relevanter Ausschnitt)

...
service imap-login {
  inet_listener imap {
    #port = 143
  }
  inet_listener imaps {
    #port = 993
    #ssl = yes
  }
 
  # Number of connections to handle before starting a new process. Typically
  # the only useful values are 0 (unlimited) or 1. 1 is more secure, but 0
  # is faster. <doc/wiki/LoginProcess.txt>
  # Tachtler
  # Do NOT start new imap-login processes, if new connection where started.
  # default: #service_count = 1
  service_count = 0
 
  # Number of processes to always keep waiting for more connections.
  # Tachtler
  # Hold always so much imap-login processes as cpu's are available.
  # default: #process_min_avail = 0
  process_min_avail = 2
 
  # If you set service_count=0, you probably need to grow this.
  #vsz_limit = $default_vsz_limit
}
...

Mit nachfolgendem Befehl kann nun überprüft werden, ob die Einstellungen erfolgreich waren und zwei - imap-login-Prozesse in der Prozessliste zu sehen sind:

# ps auxwf | grep dove
root     20987  0.0  0.0 112640   928 pts/0    S+   15:01   0:00                      \_ grep --color=auto dove
root     20976  1.5  0.0  19960  1668 ?        Ss   15:01   0:00 /usr/sbin/dovecot -F
dovenull 20979  0.5  0.1  45404  3288 ?        S    15:01   0:00  \_ dovecot/imap-login
dovecot  20980  0.0  0.0   9432  1064 ?        S    15:01   0:00  \_ dovecot/anvil [3 connections]
root     20981  0.0  0.0   9564  1264 ?        S    15:01   0:00  \_ dovecot/log
root     20983  0.5  0.1  18864  2472 ?        S    15:01   0:00  \_ dovecot/config
dovecot  20985  0.5  0.0  27908  1884 ?        S    15:01   0:00  \_ dovecot/auth [0 wait, 0 passdb, 0 userdb]

:!: HINWEIS - Da jeder imap-login-Prozess für standardmäßig 1.000 Anmeldungen (Clients) steht,

  • default_client_limit = 1000

würde bei kleineren Installationen auch ein einziger - imap-login-Prozess ausreichend sein!

Konfiguration: Offene Dateien

Ebenfalls bei großen Installationen, kann es vorkommen, dass die vom Betriebssystem zur Verfügung gestellten gleichzeitigen offenen Dateien das Limit des Betriebssystems erreichen. Welches Limit bzw. welche Beschränkungen hier eingestellt sind, kann mit nachfolgendem Befehl abgefragt werden:

# ulimit -a | grep open.files
open files                      (-n) 1024

Mögliche Fehlermeldung in der LOG-Datei

  • /var/log/maillog

könnte wie nachfolgend dargestellt erscheinen: (Nur relevanter Ausschnit)

...
... dovecot: pipe() failed: Too many open files
... dovecot: Temporary failure in creating login processes, slowing down for now
...

/etc/sysconfig/dovecot

Um den Wert der gleichzeitigen offenen Dateien des Betriebssystems dauerhaft und auch nach einem Neustart des Servers beizubehalten, kann in nachfolgender Konfigurationsdatei

  • /etc/sysconfig/dovecot

hier nachfolgende Zeile hinzugefügt werden. (Bereitstellung von 8192 gleichzeitigen offenen Dateien des Betriebssystems)

# Here you can specify your dovecot command line options.
#
#OPTIONS=""

# Tachtler
# Raise ulimit -n (default: 1024)
ulimit -n 8192

:!: HINWEIS - Dies ist meist nur bei größeren Installationen notwendig!

Konfiguration: Push e-Mail

Wenn Push-e-Mail zum Einsatz kommt (dauerhafte Verbindung eines Clients, oft mobiles Endgerät, zum Dovecot-Server), kann das bei größeren Installation schnell zu „Verstopfung“ des Dovecot-Servers führen.

Der Grund liegt hierfür im Betriebssystem und wie Dovecot hier den Kernel des Betriebssystems einbindet.

Dovecot meldet beim Kernel des Betriebssystem an, dass Dovecot benachrichtigt werden will, wenn sich an einer Datei, oder in einem Verzeichnis etwas ändert.

Es gibt jedoch auch hier Limitierungen, die mit nachfolgenden Befehlen abgefragt werden können:

Anzahl der möglichen zu überwachenden Pfade, pro Benutzer:

# cat /proc/sys/fs/inotify/max_user_watches 
8192

Anzahl der möglichen gleichzeitigen überwachten Pfade, pro Benutzer:

# cat /proc/sys/fs/inotify/max_user_instances 
128

Falls nun, wie in vorhergehender Konfiguration, siehe nachfolgenden internen Link

bereits auf die Verwendung eines Dummy-Benutzers umgestellt wurde, kommt für die Anmeldung dieser Dummy-Benutzer ebenfalls für alle Benutzer Anmeldungen (Clients) der Wert

  • max_user_watches = 8192

nicht mehr zum tragen, da hier nur der Dummy-Benutzer durch Dovecot dem Kernel des Betriebssystems als Benutzer bekannt gemacht wird.

Wenn jetzt jedoch mehr als 128 gleichzeitige IMAP-Clients mit Dovecot in Verbindung treten, dann könnte nachfolgende Fehlermeldung in der LOG-Datei

  • /var/log/maillog

wie nachfolgend dargestellt erscheinen: (Nur relevanter Ausschnit)

...
... dovecot: Warning: Inotify instance limit for user 10000 (UID vmail) exceeded, disabling. Increase /proc/sys/fs/inotify/max_user_instances
...

/etc/sysctl.conf

Um den Wert der gleichzeitigen überwachten Dateien durch den Kernel des Betriebssystems dauerhaft und auch nach einem Neustart des Servers beizubehalten, kann in nachfolgender Konfigurationsdatei

  • /etc/sysctl.conf

hier nachfolgende Zeile hinzugefügt werden. (Bereitstellung von 1024 gleichzeitigen überwachten Dateien durch den Kernel des Betriebssystems)

...
fs.inotify.max_user_instances=1024
...

Konfiguration: Listen

Grundsätzlich ist der Dovecot-Server so konfiguriert, das auf IPv4 und IPv6-Adressen „gelauscht“ wird. Dies kann mit nachfolgendem Befehl überprüft werden:

# netstat -tulpen | grep dovecot | grep 143
tcp        0      0 0.0.0.0:143               0.0.0.0:*              LISTEN      0     4036236    16822/dovecot
tcp        0      0 :::143                    :::*                   LISTEN      0     4036237    16822/dovecot

Falls jedoch kein IPv6 zum Einsatz kommt und nur IPv4 relevant ist, kann mit nachfolgender Konfiguration erreicht werden, das nur auf IPv4-Adressen „gelauscht“ wird:

/etc/dovecot/dovecot.conf

Mit nachfolgender Konfiguration wird der Dovecot-Server nur auf IPv4-Adressen „lauschen“: (Nur relevanter Ausschnitt)

...
# A comma separated list of IPs or hosts where to listen in for connections.
# "*" listens in all IPv4 interfaces, "::" listens in all IPv6 interfaces.
# If you want to specify non-default ports or anything more complex,
# edit conf.d/master.conf.
# Tachtler
# default: #listen = *, ::
listen = *
...

Ob die Änderungen erfolgreich umgesetzt worden sind, kann wieder mit nachfolgendem Befehl nach einem Neustart überprüft werden:

# netstat -tulpen | grep dovecot | grep 143
tcp        0      0 0.0.0.0:143               0.0.0.0:*              LISTEN      0     4049400    18771/dovecot

Konfiguration: LDA/LMTP

Grundsätzlich ist der Dovecot-Server so konfiguriert, das für die LDA/LMTP-Einstellungen hier eine eigene Konfigurationsdatei verwendet, welche nachfolgende Bezeichnung hat:

  • /etc/dovecot/conf.d/15-lda.conf

Hier können unter anderem nachfolgende Einstellungen für

  • Postmaster e-Mail-Adresse
  • Hostname

gesetzt werden.

Die Postmaster e-Mail-Adresse ist standardmäßig postmaster@<domain.tld>, wobei <domain.tld> hier für die eigene Domain steht.

Der Hostname ist standardmäßig der Hostname des Servers, hier z.B. rechner80.tachtler.net.

/etc/dovecot/conf.d/15-lda.conf

Um die Einstellungen für

  • Postmaster e-Mail-Adresse
  • Hostname

zu ändern, können nachfolgende Einstellungen vorgenommen werden: (Nur relevanter Ausschnitt)

##
## LDA specific settings (also used by LMTP)
##
 
# Address to use when sending rejection mails.
# Default is postmaster@<your domain>. %d expands to recipient domain.
# Tachtler
# default: #postmaster_address =
postmaster_address = postmaster@tachtler.net
 
# Hostname to use in various parts of sent mails (e.g. in Message-Id) and
# in LMTP replies. Default is the system's real hostname@domain.
# Tachtler
# default: #hostname =
hostname = imap.tachtler.net
...

Gerade die Einstellung des Hostname kann sinnvoll sein. Nachfolgendes Beispiel zeigt die Veränderungen beim Empfang von e-Mails im e-Mail-Header:

Standard Hostname (Nur relevanter Ausschnitt)

...
Received: from mx1.tachtler.net ([192.168.0.60])
	by rechner80.tachtler.net (Dovecot) with LMTP id qmjbOTA6YlPTbAAABl5r6g
	for <klaus@tachtler.net>; Thu, 01 May 2014 14:12:32 +0200
...

Gesetzter Hostname (Nur relevanter Ausschnitt)

...
Received: from mx1.tachtler.net ([192.168.0.60])
	by imap.tachtler.net (Dovecot) with LMTP id m52XIz0+YlNOcAAABl5r6g
	for <klaus@tachtler.net>; Thu, 01 May 2014 14:29:49 +0200
...

Konfiguration: Autocreate Mailboxes

Unter Dovecot besteht die Möglichkeit Postfächer (Mailboxes) und auch Ordner (Folder) bei der allerersten Anmeldung eines Benutzer automatisiert von Dovecot anlegen zu lassen.

Hier gibt es drei verschiedene Gestaltungsmöglichkeiten:

Einstellung Beschreibung
auto=no Es wird kein Postfach (Mailbox) / Ordner (Folder) angelegt
auto=create Es wird ein Postfach (Mailbox) / Ordner (Folder) beim ersten Zugriff darauf angelegt, aber es erfolgt kein Abonnement.
auto=subscribe Es wird ein Postfach (Mailbox) / Ordner (Folder) bei der ersten Anmeldung angelegt und es erfolgt ein Abonnement.

/etc/dovecot/conf.d/15-mailboxes.conf

In dieser Konfigurationsdatei werden die Einstellungen für die Postfächer (Mailboxes) durchgeführt.

Nachfolgend sollen das Postfach (Mailbox) und die nachfolgend genannten Ordner (Folder) automatisch angelegt und diese sollen ebenfalls gleich automatisch abonniert werden.

  • Drafts (Entwürfe)
  • Sent (Gesendet)
  • Trash (Papierkorb)
  • Junk (ggf. Spam)

Dazu können die bereits in der Konfigurationsdatei enthaltenen Einstellungen, wie nachfolgend dargestellt, angepasst werden:

(Komplette Konfigurationsdatei)

##
## Mailbox definitions
##
 
# NOTE: Assumes "namespace inbox" has been defined in 10-mail.conf.
namespace inbox {
 
  #mailbox name {
    # auto=create will automatically create this mailbox.
    # auto=subscribe will both create and subscribe to the mailbox.
    #auto = no
 
    # Space separated list of IMAP SPECIAL-USE attributes as specified by
    # RFC 6154: \All \Archive \Drafts \Flagged \Junk \Sent \Trash
    #special_use =
  #}
 
  # These mailboxes are widely used and could perhaps be created automatically:
  mailbox Drafts {
    special_use = \Drafts
    # Tachtler
    auto = subscribe
  }
  mailbox Junk {
    special_use = \Junk
    # Tachtler
    auto = subscribe
  }
  mailbox Trash {
    special_use = \Trash
    # Tachtler
    auto = subscribe
  }
 
  # For \Sent mailboxes there are two widely used names. We'll mark both of
  # them as \Sent. User typically deletes one of them if duplicates are created.
  mailbox Sent {
    special_use = \Sent
    # Tachtler
    auto = subscribe
  }
  mailbox "Sent Messages" {
    special_use = \Sent
  }
 
  # If you have a virtual "All messages" mailbox:
  #mailbox virtual/All {
  #  special_use = \All
  #}
 
  # If you have a virtual "Flagged" mailbox:
  #mailbox virtual/Flagged {
  #  special_use = \Flagged
  #}
}

:!: HINWEIS - Falls Namen mit Leerzeichen vergeben werden sollen, müssen diese in Anführungszeichen eingeschlossen werden!

:!: HINWEIS - Die so definierten Postfächer (Mailboxes) / Ordner (Folder) sind angelegt und abonniert, jedoch werden diese physisch im Dateisystem, erst mit dem ersten Zugriff angelegt !

Konfiguration: Benutzer/IP Verbindungen

Falls bei der Überprüfung der LOG-Dateien von Dovecot, nachfolgender Warnhinweis auftauchen sollte:

(Nur relevante Ausschnitte)

dovecot: imap-login: Maximum number of connections from user+IP exceeded (mail_max_userip_connections=10):
user=<klaus@tachtler.net>, method=CRAM-MD5, rip=192.168.0.10, lip=192.168.0.80, TLS, session=<qzxMKQv+OBAKAWAK>
oder (Bei der Zusammenfassung durch logwatch)
max_userip_connections: klaus@tachtler.net from 192.168.0.10 to 192.168.0.80: 35 Time(s)

liegt dies daran, das ein Web-Mailer wie z.B. Horde oder eine (App)likation wie z.B. K-9 Mail hier zu viele

  • gleichzeitige Verbindungen
  • pro IP-Adresse
  • eines Benutzers

aufgebaut werden.

Abhilfe kann in diesem Fall, die Erhöhung des Wertes mail_max_userip_connections bringen. Der Standardwert ist 10.

/etc/dovecot/conf.d/20-imap.conf

Um die Einstellungen für

  • mail_max_userip_connections

zu ändern, kann nachfolgende Änderung vorgenommen werden: (Nur relevanter Ausschnitt)

...
protocol imap {
  # Space separated list of plugins to load (default is global mail_plugins).
  # Tachtler
  # default: #mail_plugins = $mail_plugins
  mail_plugins = $mail_plugins imap_quota imap_acl imap_zlib
 
  # Maximum number of IMAP connections allowed for a user from each IP address.
  # NOTE: The username is compared case-sensitively.
  # Tachtler
  # default: #mail_max_userip_connections = 10
  mail_max_userip_connections = 30
}

/etc/dovecot/conf.d/20-managesieve.conf

Um die Einstellungen für

  • mail_max_userip_connections

zu ändern, kann nachfolgende Änderung vorgenommen werden: (Nur relevanter Ausschnitt)

...
# Service configuration
 
protocol sieve {
  # Maximum ManageSieve command line length in bytes. ManageSieve usually does
  # not involve overly long command lines, so this setting will not normally
  # need adjustment
  #managesieve_max_line_length = 65536
 
  # Maximum number of ManageSieve connections allowed for a user from each IP
  # address.
  # NOTE: The username is compared case-sensitively.
  # Tachtler
  # default: #mail_max_userip_connections = 10
  mail_max_userip_connections = 30
 
  # Space separated list of plugins to load (none known to be useful so far).
  # Do NOT try to load IMAP plugins here.
  #mail_plugins =
...

Neustart

:!: HINWEIS - Nachfolgende Tuning-Maßnahme wurden bei nachfolgender kleinen Installation, welche unter nachfolgenden internen Links beschrieben sind, durchgeführt:

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"
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
  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 sieve"
}
protocol imap {
  mail_max_userip_connections = 50
  mail_plugins = " quota acl zlib 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

Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden. Weitere Information
tachtler/dovecot_tuning.txt · Zuletzt geändert: 2015/07/12 09:31 von klaus