IMAP Separator Anpassung

Simeon Ott simeon.ott at onnet.ch
Mo Okt 10 08:12:32 CEST 2016


Hallo,

Ca. 10 Jahre lang betrieb ich einen kleinen Mailserver mit Courier und stellte dann vor 2 Jahren auf Dovecot um. Damit verwalte ich heute ca. 150 E-Mail Accounts.
Mit dem Maildir-Format und der Standardkonfiguration von Courier habe ich bei der damaligen Migration auf Dovecot auch den dot (.) Separator mitgeschleppt. Da meine Authentifizierung via LDAP abläuft und ich als Benutzername eine vollständige E-Mail Adresse verwende, war es mir bis heute verwehrt, Shared Folders einzusetzen. Ein ähnliches Problem schilderte Ian Crowther vor 5 Jahren auf der Englisch-sprachigen Mailingliste (http://www.dovecot.org/list/dovecot/2011-January/056201.html <http://www.dovecot.org/list/dovecot/2011-January/056201.html>).

Da ich seine Lösung nie ganz verstanden habe, gelange ich mit meiner Frage an diese Liste. Was geschieht genau, wenn ich den Separator umstelle (von . nach /)? Muss ich dann die Filestruktur aller E-Mail Konti anpassen (FS Separator), damit ich meinem Ziel, Shared Folders einzusetzen auch wirklich näher komme? Was ich sicher weiss, dass die SIEVE Scripts angepasst werden müssen - das sind in meinem Fall aber sehr wenige und von Hand schnell gemacht. Ist es realistisch, diese Umstellung in einem Wartungfenster an einem Livesystem durchzuführen oder wird es eher darauf herauslaufen, dass ich mit einem Zweitsystem damit beginnen muss? Ich habe ja relativ wenige Konten und könnte diverse Schritte auch manuell ausführen - wenn ich dann nur wüsste, was alles zusätzlich angepasst werden muss.

Hier mein dovecot -n Auszug

# 2.1.7: /etc/dovecot/dovecot.conf
# OS: Linux 3.2.0-4-amd64 x86_64 Debian 7.11 
auth_mechanisms = plain login
auth_verbose = yes
lda_mailbox_autocreate = yes
lda_mailbox_autosubscribe = yes
listen = *
login_log_format_elements = user=<%u> method=%m rip=%r lip=%l mpid=%e %c
mail_gid = 5000
mail_location = maildir:~/Maildir
mail_plugins = zlib quota acl
mail_uid = 5000
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 ihave
namespace inbox {
  inbox = yes
  location = 
  mailbox Drafts {
    auto = subscribe
    special_use = \Drafts
  }
  mailbox Sent {
    auto = subscribe
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    special_use = \Sent
  }
  mailbox Spam {
    auto = subscribe
    special_use = \Junk
  }
  mailbox Trash {
    auto = subscribe
    special_use = \Trash
  }
  prefix = INBOX.
  separator = .
}
passdb {
  args = /etc/dovecot/dovecot-ldap.conf
  driver = ldap
}
plugin {
  acl = vfile
  acl_shared_dict = file:/var/spool/postfix/virtual/shared-mailboxes
  quota = maildir:User quota
  quota_exceeded_message = 4.2.2 Mailbox full
  quota_rule = *:storage=1G
  quota_rule2 = INBOX.Trash:storage=+100M
  quota_rule3 = INBOX.Spam:ignore
  quota_warning = storage=95%% quota-warning 95 %u
  sieve = ~/.dovecot.sieve
  sieve_before = /var/lib/dovecot/sieve/default.sieve
  sieve_dir = ~/sieve
  sieve_max_actions = 32
  sieve_max_redirects = 4
  sieve_max_script_size = 1M
  sieve_quota_max_scripts = 0
  sieve_quota_max_storage = 0
}
protocols = " imap lmtp sieve pop3"
service auth {
  group = dovecot
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0660
    user = postfix
  }
  unix_listener auth-master {
    group = vmail
    mode = 0660
    user = vmail
  }
  user = dovecot
}
service lmtp {
  unix_listener lmtp {
    mode = 0666
  }
}
service managesieve-login {
  inet_listener sieve {
    port = 4190
  }
  inet_listener sieve_deprecated {
    port = 2000
  }
  process_min_avail = 1
  service_count = 1
  vsz_limit = 64 M
}
ssl_cert = </etc/ssl/private/startssl-onnet.ch-chain.crt
ssl_cipher_list = ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA:DHE-RSA-CAMELLIA128-SHA:DHE-RSA-CAMELLIA256-SHA:CAMELLIA128-SHA:CAMELLIA256-SHA:ECDHE-RSA-DES-CBC3-SHA:DES-CBC3-SHA:!SSLv2
ssl_key = </etc/ssl/private/startssl-onnet.ch.key
userdb {
  args = /etc/dovecot/dovecot-ldap.conf
  driver = ldap
}
protocol lmtp {
  mail_plugins = zlib quota acl sieve
}
protocol lda {
  auth_socket_path = /var/run/dovecot/auth-master
  deliver_log_format = msgid=%m: %$
  mail_plugins = zlib quota acl sieve
  postmaster_address = postmaster at onnet.ch
}
protocol imap {
  mail_plugins = zlib quota acl imap_quota imap_acl
}
protocol sieve {
  info_log_path = /var/log/sieve.log
  log_path = /var/log/sieve.log
  mail_max_userip_connections = 10
  managesieve_implementation_string = Dovecot Pigeonhole
  managesieve_logout_format = bytes=%i/%o
  managesieve_max_compile_errors = 5
  managesieve_max_line_length = 65536
}
… und hier das wichtigste aus meiner LDAP-Configuration
user_attrs = homeDirectory=home=/var/spool/postfix/virtual/%$,uidNumber=uid,gidNumber=gid,quota=quota_rule=*:bytes=%$
user_filter = (&(objectClass=CourierMailAccount)(mail=%u))

Für jegliche Tipps bin ich sehr dankbar. Evtl. hat ja dies schon jemand gemacht und kann seine Erfahrungen teilen.

Herzlichen Dank und Gruss
Simeon
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <https://listen.jpberlin.de/pipermail/dovecot/attachments/20161010/99cf720d/attachment.html>


Mehr Informationen über die Mailingliste Dovecot