dovecot sieve duplicates detection
André Rodier
andre at rodier.me
Wed Apr 25 23:22:24 EEST 2018
On 25/04/18 20:20, Stephan Bosch wrote:
>
>
> 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
>> (https://wiki.dovecot.org/Pigeonhole/Sieve/Plugins/IMAPSieve). 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 (https://tools.ietf.org/html/rfc7352#section-3.1).
> Using the variables extenion, compose the uniqueid from the message-id
> and the mailbox name.
>
> Regards,
>
> Stephan.
>
Thank you, I will try this.
André
More information about the dovecot
mailing list