<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    I must say I was a bit sceptical if this sieve script would resolve
    it, but it seems like it totally did! Thanks a lot for your reply,
    hope this helps someone else in the future as well.<br>
    <br>
    <div class="moz-signature">
      <div class="moz-signature">Kind regards,<br>
        <br>
        Thom Pol</div>
      <div class="moz-signature"><br>
        <img
          src="https://static.amste.ch/amsterdamtech/email-signature-v1.png"
          width="200" height="26"></div>
      <br>
      <br>
    </div>
    <div class="moz-cite-prefix">On 16/05/2022 08:12, Paul Kudla
      (SCOM.CA Internet Services Inc.) wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:mailman.134.1652703156.526.dovecot@dovecot.org">
      <pre class="moz-quote-pre" wrap="">ok duplicsate emails (even across dsync, replication etc) is typically 
handled via a global sieve script


I use :

# cat duplicates.sieve
require "duplicate";           # for dovecot >= 2.2.18

if duplicate {
     discard;
     stop;
}

for the scripts

and setup sieve to work via my dovecot.conf file

relative parts below :

--------------------------------------------------------------------

protocols = imap pop3 lmtp sieve

protocol lmtp {
   mail_plugins = $mail_plugins sieve
   postmaster_address = <a class="moz-txt-link-abbreviated" href="mailto:monitor@scom.ca">monitor@scom.ca</a>
}


protocol lda {
   mail_plugins = $mail_plugins sieve
}


plugin {
.....

   sieve = <a class="moz-txt-link-freetext" href="file:~/sieve;active=~/sieve/.dovecot.sieve">file:~/sieve;active=~/sieve/.dovecot.sieve</a>

   sieve_duplicate_default_period = 1h
   sieve_duplicate_max_period = 1d
   sieve_extensions = +duplicate +notify +imapflags +vacation-seconds
   sieve_global_dir = /usr/local/etc/dovecot/sieve
   sieve_before = /usr/local/etc/dovecot/sieve/duplicates.sieve

.....
}

service managesieve-login {
   process_limit = 1000
   vsz_limit = 1g
   inet_listener sieve {
     port = 4190
   }
}

protocol sieve {
   managesieve_implementation_string = Dovecot Pigeonhole
   managesieve_max_line_length = 65536
}



------------------------------------------------------------------


note the sieve_before which handles duplictes during delivery etc.


Happy Monday !!!
Thanks - paul

Paul Kudla


Scom.ca Internet Services <a class="moz-txt-link-rfc2396E" href="http://www.scom.ca"><http://www.scom.ca></a>
004-1009 Byron Street South
Whitby, Ontario - Canada
L1N 4S3

Toronto 416.642.7266
Main?1.866.411.7266
Fax?1.888.892.7266
</pre>
    </blockquote>
  </body>
</html>