Dovecot Director und managesieve
Thomas Bäumer
thomas at ctrl-c.de
Mi Feb 12 17:46:17 CET 2020
Hallo zusammen,
ich arbeite mich so durch das Dovecot Buch und bin langsam an dem Punkt,
wie der bzw. die neuen Mailserver so aussehen sollen.
Der Director funktioniert soweit, LMTP und IMAP gehen da ordnungsgemäß
durch und werden an das Backend weitergeleitet:
# doveadm auth test vorname.nachname at domain.tld
Password:
passdb: vorname.nachname at domain.tld auth succeeded
extra fields:
user=vorname.nachname at domain.tld
proxy
# doveadm director status
mail server ip tag vhosts state state changed users
172.aa.bb.17 100 up - 0
# doveadm director status vorname.nachname at domain.tld
Current: 172.aa.bb.17 (expires 2020-02-12 16:29:49)
Hashed: 172.aa.bb.17
Initial config: 172.aa.bb.17
Aber managesieve (mit rainloop v1.14.0 oder Roundcube 1.4.2) schlägt fehl:
Feb 12 16:16:13 imap dovecot: managesieve-login: Error: proxy: host not
given: user=<vorname.nachname at domain.tld>, method=PLAIN,
rip=2a00:...:249:6820, lip=2a00:...:993, TLS,
session=<afCOSmOemOAqAOGAyv4AEMxn5I4kn2gg>
Dann bin ich nochmal einen Schritt zurück habe aus dem Director wieder
einen einfachen Proxy gemacht. Also in 10-director.conf alles wieder
kommentiert und passdb Attribute angepasst:
# doveadm auth test vorname.nachname at domain.tld
Password:
passdb: vorname.nachname at domain.tld auth succeeded
extra fields:
user=vorname.nachname at domain.tld
proxy
host=172.aa.bb.17
Und damit klappt sieve dann:
Feb 12 15:41:07 imap dovecot: managesieve-login:
proxy(vorname.nachname at domain.tld): started proxying to
172.aa.bb.17:4190: user=<vorname.nachname at domain.tld>, method=PLAIN,
rip=2a00:...:249:6820, lip=2a00:...:993, TLS,
session=<iAoHzWKeXNwqAOGAyv4AEMxn5I4kn2gg>
Offenbar fehlt irgendwas in der Director-config, damit auch managesieve
funktioniert. Aber ich weiß nicht was.
Kann da vielleicht jemand helfen?
Anbei noch die debug logs und meine config vom dem Director.
Danke und Gruss
Thomas
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : dovecot_proxy.log
Dateityp : text/x-log
Dateigröße : 2281 bytes
Beschreibung: nicht verfügbar
URL : <https://listen.jpberlin.de/pipermail/dovecot/attachments/20200212/1fa8e9a0/attachment.log>
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : dovecot_dir.log
Dateityp : text/x-log
Dateigröße : 2378 bytes
Beschreibung: nicht verfügbar
URL : <https://listen.jpberlin.de/pipermail/dovecot/attachments/20200212/1fa8e9a0/attachment-0001.log>
-------------- nächster Teil --------------
# 2.3.9.2 (cf2918cac): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.9 (db4e9a2f)
# OS: Linux 4.15.0-76-generic x86_64 Ubuntu 18.04.4 LTS
# Hostname: ddir01.domain.tld
auth_debug = yes
auth_master_user_separator = *
auth_mechanisms = plain login
auth_verbose = yes
director_mail_servers = 172.aa.bb.17
director_servers = 89.xxx.yyy.zzz:9090 172.aaa.bbb.ccc:9090
lmtp_proxy = yes
mail_attachment_dir = /var/vmail/mail_attachments
mail_attachment_hash = %{sha256}
mail_debug = yes
mail_location = mdbox:%h/mdbox
mail_plugins = zlib acl quota
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 mime foreverypart extracttext
namespace {
list = children
location = mdbox:%%h/mdbox
prefix = shared/%%u/
separator = /
subscriptions = yes
type = shared
}
namespace {
location = maildir:/var/vmail/public:INDEXPVT=%h/mdbox/public
prefix = Public/
separator = /
subscriptions = yes
type = public
}
namespace inbox {
hidden = no
inbox = yes
list = 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 = /
subscriptions = yes
type = private
}
passdb {
args = /etc/dovecot/master-users
driver = passwd-file
master = yes
result_success = continue
}
passdb {
args = /etc/dovecot/dovecot-ldap.conf.ext
driver = ldap
}
plugin {
acl = vfile
acl_shared_dict = file:/var/vmail/shared-mailboxes.db
acl_user = %u
master_user = %u
quota = dict:User quota::file:%h/dovecot-quota
quota_grace = 10%%
quota_rule = *:storage=1G
quota_status_nouser = DUNNO
quota_status_overquota = 552 5.2.2 Mailbox is full / Mailbox ist voll
quota_status_success = DUNNO
sieve = file:%h/sieve;active=%h/sieve.active
sieve_max_actions = 32
sieve_max_redirects = 4
sieve_max_script_size = 1M
zlib_save = gz
zlib_save_level = 6
}
protocols = " imap lmtp sieve"
service auth {
unix_listener /var/spool/postfix/private/auth {
mode = 0666
}
unix_listener auth-userdb {
user = dovecot
}
}
service director {
inet_listener {
port = 9090
}
unix_listener login/director {
mode = 0666
}
}
service imap-login {
executable = imap-login director
}
service lmtp {
inet_listener lmtp {
port = 24
}
}
service managesieve-login {
inet_listener sieve {
port = 4190
}
}
service quota-status {
client_limit = 1
executable = quota-status -p postfix
inet_listener {
port = 12340
}
}
ssl = required
ssl_cert = </etc/ssl/private/cert.domain.tld
ssl_cipher_list = ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256
ssl_key = # hidden, use -P to show it
ssl_options = no_compression no_ticket
ssl_prefer_server_ciphers = yes
userdb {
driver = prefetch
}
userdb {
args = /etc/dovecot/dovecot-ldap.conf.ext
driver = ldap
}
verbose_proctitle = yes
protocol lmtp {
auth_socket_path = director-userdb
mail_plugins = zlib acl quota sieve
postmaster_address = postmaster at domain.tld
}
protocol imap {
mail_plugins = zlib acl quota imap_zlib imap_acl imap_quota
}
Mehr Informationen über die Mailingliste Dovecot