dovecot sieve duplicates detection

Stephan Bosch stephan at
Wed Apr 25 22:20:28 EEST 2018

Op 23/04/2018 om 22:03 schreef André Rodier:
> On 23/04/18 14:18, Stephan Bosch wrote:
>> Op 11-4-2018 om 23:58 schreef André Rodier:
>>> Hello,
>>> I have tested the sieve duplicate script with success so far, but I 
>>> have
>>> a question.
>> Sieve duplicate script? You mean the Sieve duplicate extension (RFC 
>> 7352)?
>>> I would like to know if the "duplicate" sieve flag in Dovecot is global
>>> to all folders, or specific to one folder only.
>> It uses the lda-dupes file in the user's home directory. So, it is 
>> not normally related to folders, although the identifier used for 
>> duplicate matching could be composed of the mailbox name if you want.
>>> For instance, if I copy an email from one folder to another, and I have
>>> a discard action on duplicate email, is this action will be applied (in
>>> this case, discard) or not.
>> Are you talking about IMAPSieve now? I am not sure "duplicate" is 
>> currently even allowed in that context.
>>> If the duplicate is global to all folders, is there a way to restrict
>>> the search in one folder only.
>> You can set the :uniqueid parameter accordingly.
>> Regards,
>> Stephan.
> Thank you, Stephan.
> Yes, I meant the Sieve duplicate extension.
> I am using a program to import email (mbsync), which use the IMAP 
> append function. Sometimes, the import fail and I have to restart the 
> program. Unfortunately, the same emails are imported again.
> I found a fix by using a dovecot IMAP sieve script executed on the 
> APPEND action 
> ( I wrote 
> a custom sieve script that "discard" the ones that are detected as 
> "duplicate". It worked very well and the emails were not any more 
> imported twice.
> However, there was a huge side effect: archiving an email with 
> Thunderbird is not working any more, and even lost! I have been able 
> to understand the error as this:
> 1. When archiving an email with Thunderbird, it is first copied 
> (APPEND) into the archive folder, but the original folder is not 
> expunged.
> 2. The sieve script detect the email as duplicate, and discard it.
> 3. When the original folder is expunged, the source email is lost...
> My conclusion was the duplicate detection function is global to all 
> folders.
> If I could restrict the detection of duplicates in the current folder 
> only, this would let me run the import program again without error.

Specify the ID used for duplicate checking explicitly using the 
:uniqueid argument ( 
Using the variables extenion, compose the uniqueid from the message-id 
and the mailbox name.



More information about the dovecot mailing list