Hi everyone,
we have a duplicate e-mail problem with Dovecot 2.2.13 (LMTP as
MDA) on a Debian 8 server.
Our users are on external LDAP.
We just need to setup a vacation responder (with Sieve) for our employees with a redirect to an alias (a distribution list), let's call it LIST@domain.com, that comprehends even the user that just activated the out of office.
This generates a loop: when someone write to LIST@domain.com every user of the aforementioned distribution list receives a duplicate e-mail generated from the sieve script of the user with vacation responder active that contains the redirect to LIST@domain.com.
We just tried activating the duplicate extension into sieve
script but the redirected e-mail has a different MSG-ID and it's
not recognized as a duplicate by the server.
Our dovecot conf is:
# 2.2.13:
/etc/dovecot/dovecot.conf
auth_mechanisms = plain login
default_vsz_limit = 512 M
disable_plaintext_auth = no
dotlock_use_excl = no
info_log_path = /var/log/dovecot-info.log
log_path = /var/log/dovecot.log
mail_fsync = never
mail_location = maildir:~/Maildir
mail_max_userip_connections = 50
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 duplicate
mmap_disable = yes
passdb {
args = /etc/dovecot/dovecot-ldap.conf
driver = ldap
}
passdb {
args = /etc/dovecot/dovecot-ldap-archive.conf
driver = ldap
}
plugin {
sieve = file:/var/www/html/ooo/%n/script
sieve_dir = /var/www/html/ooo/%n/
sieve_duplicate_default_period = 1m
sieve_duplicate_max_period = 1d
sieve_extensions = +vnd.dovecot.duplicate +notify
+imapflags +vacation-seconds
sieve_global = /etc/dovecot/sieve/
sieve_max_redirects = 10
sieve_user_log = file:/var/www/html/ooo/%n/sieve_error.log
sieve_vacation_default_period = 1d
sieve_vacation_max_period = 90d
sieve_vacation_min_period = 5s
}
protocols = imap pop3 lmtp sieve
service auth {
unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0660
user = postfix
}
unix_listener auth-master {
group = vmail
mode = 0660
user = vmail
}
user = root
}
service imap-login {
process_limit = 200
}
service lmtp {
executable = lmtp -L
process_min_avail = 5
unix_listener /var/spool/postfix/private/dovecot-lmtp {
group = postfix
mode = 0666
user = postfix
}
user = vmail
}
service managesieve-login {
executable = /usr/lib/dovecot/managesieve-login
inet_listener sieve {
port = 4190
}
process_min_avail = 10
service_count = 1
}
service managesieve {
executable = /usr/lib/dovecot/managesieve
}
ssl_cert = </etc/ssl/xxxxxxxxxxxxxxxxxxxxxxxx
ssl_cipher_list =
ALL:!LOW:!aNULL:!eNULL:!SSLv2:!RC4:!MD5:!DES:!EXP:!SEED:!IDEA:!3DES
ssl_key = </etc/ssl/private/xxxxxxxxxxxxxxxxxx
userdb {
args = /etc/dovecot/dovecot-ldap.conf
driver = ldap
}
userdb {
args = /etc/dovecot/dovecot-ldap-archive.conf
driver = ldap
}
protocol lda {
auth_socket_path = /var/run/dovecot/auth-master
hostname = xxxxxxxxxxxxxxxxx
info_log_path = /var/log/dovecot-lda.log
log_path = /var/log/dovecot-lda-errors.log
mail_plugins = " autocreate sieve quota"
}
protocol lmtp {
info_log_path = /var/log/dovecot-lmtp.log
log_path = /var/log/dovecot-lmtp-errors.log
mail_plugins = " autocreate sieve quota"
postmaster_address = postmaster@xxxxxxxxxx
}
protocol sieve {
info_log_path =
log_path =
mail_max_userip_connections = 10
managesieve_implementation_string = dovecot
managesieve_logout_format = bytes=%i/%o
managesieve_max_compile_errors = 5
managesieve_max_line_length = 65536
}
An example of user sieve script is:
require
["vnd.dovecot.duplicate","copy","fileinto","vacation-seconds"];
# rule:[Outofoffice]
if true
{
vacation :addresses "xxxxxxx@domain.tld" :subject
"Automatic Reply" text:
<Text here>
.
;
fileinto "INBOX";
redirect "LIST@domain.com";
}
Please could someone give us support on the matter?
Removing the redirect from sieve user script is not an option :-)
Thanks
Cheers
Claudio
Corvino
IT
Systems Administrator
Via
Flaminia, 497 - 00191 Roma
tel.:
+39 06332287
fax:
+39 063336145
e-mail:
ccorvino@trustitalia.it
website:
www.trustitalia.it