Duplicate e-mail with Dovecot and Sieve
Claudio Corvino
ccorvino at trustitalia.it
Tue Nov 26 12:13:11 EET 2019
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 at domain.com/, that comprehends even the user that just activated
the out of office.
This generates a loop: when someone write to LIST at 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 at 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 at domain.tld" :subject "Automatic Reply"
text:
/
/<Text here>
.
;
fileinto "INBOX";/
/ redirect "LIST at 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*
Trust Italia S.p.A. <https://www.trustitalia.it/>
*DigiCert Italian Affiliate
Certified Partner Platinum Elite*
Via Flaminia, 497 - 00191 Roma
*tel.: +39 06332287*
*fax: +39 063336145*
*e-mail: * ccorvino at trustitalia.it <mailto:ccorvino at trustitalia.it>
*website: * www.trustitalia.it <https://www.trustitalia.it>
Symantec Authentication Service
Le modalità di trattamento dei dati a cui è stato dato il consenso e le
relative finalità sono consultabili al link
<https://www.trustitalia.it/archivio/legal_agreements/informativa_privacy_email_marketing.pdf>.
Qualora non desiderasse ricevere le nostre comunicazioni, potrà
comunicarlo mediante il seguente link
<https://www.trustitalia.it/site/info_css/05110101/revoca-del-consenso>.
Inoltre, in ogni momento, potrà modificare o cancellare i dati presenti
nel nostro archivio contattandoci all'indirizzo privacy at trustitalia.it
<mailto:privacy at trustitalia.it>
Se possibile non stamparmi! Se possibile, non stamparmi!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://dovecot.org/pipermail/dovecot/attachments/20191126/dc9a6873/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4206 bytes
Desc: S/MIME Cryptographic Signature
URL: <https://dovecot.org/pipermail/dovecot/attachments/20191126/dc9a6873/attachment.p7s>
More information about the dovecot
mailing list