Dovecot imapsieve integration

This commit is contained in:
Julian Rother 2025-02-04 03:35:53 +01:00
parent 1b86e487cc
commit dd574e28f5
Signed by: julian
GPG key ID: C19B924C0CD13341
3 changed files with 74 additions and 2 deletions

View file

@ -58,8 +58,7 @@ namespace inbox {
# IMAP
protocol imap {
# TODO: imap_quota?
mail_plugins = $mail_plugins
mail_plugins = $mail_plugins imap_sieve
}
service imap-login {
@ -75,6 +74,25 @@ service imap-login {
# Sieve
plugin {
sieve = file:~/sieve;active=~/.dovecot.sieve
sieve_plugins = sieve_imapsieve sieve_extprograms
sieve_global_extensions = +vnd.dovecot.pipe +vnd.dovecot.execute
sieve_pipe_bin_dir = /etc/dovecot/sieve-extprograms
{% for name, handler in mailserver.dovecot.sieve_mailbox_handlers.items() %}
# {{ name }}
imapsieve_mailbox{{ loop.index }}_name = {{ handler.name }}
imapsieve_mailbox{{ loop.index }}_causes = {{ handler.causes }}
{% if handler.from|d(False) %}
imapsieve_mailbox{{ loop.index }}_from = {{ handler.from }}
{% endif %}
{% if handler.before|d(False) %}
imapsieve_mailbox{{ loop.index }}_before = /etc/dovecot/sieve-scripts/mailbox_{{ name }}_before.sieve
{% endif %}
{% if handler.after|d(False) %}
imapsieve_mailbox{{ loop.index }}_after = /etc/dovecot/sieve-scripts/mailbox_{{ name }}_after.sieve
{% endif %}
{% endfor %}
}
service managesieve-login {