Sv: Sv: Sv: Sv: Avoid duplicate emails in the sent folder

André Rodier andre at rodier.me
Mon Apr 5 19:44:21 EEST 2021


Sorry for the top posting.

Here the solution I found, without using a secondary Sent folder:

My sieve script is like this:

————————————————————————————————————————
require [
  "imapsieve",
  "include"
];

include :personal :optional "pre-sent-checks";
discard;
————————————————————————————————————————

During the import phase, the sieve user script "pre-sent-checks.sieve"
is created with this content:

————————————————————————————————————————
keep;stop;
————————————————————————————————————————

Once the import phase is finished, the user script contains this:

————————————————————————————————————————
require ["include"];
return;
————————————————————————————————————————

This is very well enough for me. The import takes just a few seconds, I
don't have race conditions for now. I prefer doing this than createing
a secondary Sent folder.

On Sun, 2021-04-04 at 14:43 +0200, Sebastian wrote:
> Why won't it work to just, as I said, create a separate folder, like
> Sent2, which you use as a "midpoint" to land all your externally
> imported emails, and then you just move everything from Sent2 to
> Sent.
> 
> -----Ursprungligt meddelande-----
> Från: dovecot-bounces at dovecot.org <dovecot-bounces at dovecot.org> För
> André Rodier
> Skickat: den 4 april 2021 14:40
> Till: Dovecot Mailing List <dovecot at dovecot.org>
> Ämne: Re: Sv: Sv: Sv: Avoid duplicate emails in the sent folder
> 
> On Sun, 2021-04-04 at 14:31 +0200, Sebastian wrote:
> > Also another important thing to take in consideration:
> > 
> > An email that is sent outgoing from an SMTP server, isn't a exact
> > copy 
> > of the email put into the SMTP server.
> > Thats why a deduplicate program/command/filter won't work, as the
> > 2 
> > emails aren't 100% identical.
> Thanks, I see this as the main issue
> 
> > The 2 "duplicates" arent technically 100% identical. Thats why the 
> > only solution is to prevent the IMAP client from writing new
> > "unknown" 
> > emails into the Sent folder, and then instead use a separate
> > folder 
> > for importing emails across accounts (from which you then
> > COPY/MOVE 
> > emails from internally in the same acount, to the Sent folder).
> 
> I continue to search on a simple solution, and I will come back to
> you!
> 
> > -----Ursprungligt meddelande-----
> > Från: dovecot-bounces at dovecot.org <dovecot-bounces at dovecot.org>
> > För 
> > André Rodier
> > Skickat: den 4 april 2021 14:10
> > Till: Dovecot Mailing List <dovecot at dovecot.org>
> > Ämne: Re: Sv: Sv: Avoid duplicate emails in the sent folder
> > 
> > Hello Sebastian,
> > 
> > On Sun, 2021-04-04 at 14:00 +0200, Sebastian wrote:
> > > Thats why you need the exim4 filter too.
> > 
> > I obtained the exact same result with postfix, using +Sent and a
> > sieve 
> > filter. Sent emails are automatically bcc'ed to the user, using the
> > +Sent email address.
> > 
> > However, I still want to be able to drag and drop emails to the
> > sent 
> > folder, which unfortunately uses the APPEND verb.
> > 
> > Also, there is a mail import wizard that import emails from 
> > gmail/yahoo/etc, and there the verb used is APPEND.
> > 
> > I am now investigating the doveadm deduplicate program.
> > 
> > Kind regards,
> > André
> > 
> > > Because, my version basically prohibits the IMAP client from
> > > writing 
> > > to the Sent folder at all, and gives that job to the SMTP server 
> > > instead.
> > > Works perfectly for me, all sent emails gets into the sent
> > > folder 
> > > without any hitch.
> > > 
> > > Without any duplicates since no IMAP client is permitted to
> > > write 
> > > into the Sent folder.
> > > 
> > > Note that only APPEND should be specifyed, not COPY, meaning that
> > > if 
> > > you COPY from the same IMAP account to Sent folder, it will be 
> > > permitted, but if you APPEND (write a new email) to the Sent
> > > folder, 
> > > it will get auto-deleted.
> > > 
> > > -----Ursprungligt meddelande-----
> > > Från: dovecot-bounces at dovecot.org <dovecot-bounces at dovecot.org>
> > > För 
> > > André Rodier
> > > Skickat: den 4 april 2021 13:57
> > > Till: Dovecot Mailing List <dovecot at dovecot.org>
> > > Ämne: Re: Sv: Avoid duplicate emails in the sent folder
> > > 
> > > Thanks, Sebastian.
> > > 
> > > I just tried this, but it is working too well.
> > > 
> > > If I want to import emails from another Sent folder, using drag
> > > & 
> > > drop from my email client, the emails are deleted in the
> > > background.
> > > 
> > > This is why I am trying to use the duplicate filter.
> > > 
> > > Kind regards,
> > > André Rodier
> > > 
> > > On Sun, 2021-04-04 at 13:04 +0200, Sebastian wrote:
> > > > I have a sieve filter called "sent.sieve"
> > > > 
> > > > Where I just do this:
> > > > discard;
> > > > 
> > > > Then in sieve settings:
> > > > 
> > > > plugin {
> > > >   sieve_plugins = sieve_imapsieve sieve_extprograms
> > > >   sieve_global_extensions = +vnd.dovecot.execute
> > > >   sieve_execute_bin_dir = /usr/bin/
> > > >   imapsieve_mailbox2_name = Sent
> > > >   imapsieve_mailbox2_causes = APPEND
> > > >   imapsieve_mailbox2_before =
> > > > file:/etc/dovecot/sieve/sent.sieve
> > > >   imapsieve_expunge_discarded=yes
> > > > }
> > > > 
> > > > 
> > > > And then in Exim4 SMTP server:
> > > > 
> > > > 
> > > > sentfolder.filter:
> > > > if $sender_address_domain is sebbe.eu then unseen save 
> > > > /var/mail/asterisk2/Sent endif
> > > > 
> > > > in exim4 config:
> > > > system_filter = /etc/exim4/sentfolder.filter 
> > > > system_filter_file_transport = sentfolder
> > > > 
> > > > in transports of exim4.conf:
> > > > 
> > > > sentfolder:
> > > >   debug_print = "T: Sentfolder for $local_part@$domain"
> > > >   headers_add = Status: RO
> > > >   headers_remove = x-dkim-signature
> > > >   headers_remove = x-spf-signature
> > > >   headers_remove = x-trusted-domain
> > > >   headers_remove = keywords
> > > >   headers_remove = x-priority
> > > >   headers_remove = x-status
> > > >   driver = appendfile
> > > >   delivery_date_add
> > > >   envelope_to_add
> > > >   return_path_add
> > > >   use_flock_lock = yes
> > > >   use_fcntl_lock = no
> > > >   use_lockfile = no
> > > >   group = mail
> > > >   mode = 0777
> > > >   mode_fail_narrower = false
> > > >   current_directory = /
> > > > 
> > > > 
> > > > 
> > > > that should solve it.
> > > > 
> > > > -----Ursprungligt meddelande-----
> > > > Från: dovecot-bounces at dovecot.org <dovecot-bounces at dovecot.org>
> > > >  
> > > > För André Rodier
> > > > Skickat: den 4 april 2021 12:48
> > > > Till: dovecot at dovecot.org
> > > > Kopia: users at sogo.nu
> > > > Ämne: Avoid duplicate emails in the sent folder
> > > > 
> > > > Hello,
> > > > 
> > > > I have a webmail program, that I cannot configure to not save
> > > > sent 
> > > > emails in the Sent folder. My emails to the SOGo team don't
> > > > seem 
> > > > to reach the mailing list anymore.
> > > > 
> > > > So, I have no other choice to think the problem differently,
> > > > and 
> > > > _maybe_ use Dovecot to fix this issue. Moreover, I think this 
> > > > could be useful for other email clients.
> > > > 
> > > > First, I have tried to use Sieve, but no success so far:
> > > > 
> > > > ------
> > > > imapsieve_mailbox4_name = *
> > > >   imapsieve_mailbox4_from = Sent
> > > >   imapsieve_mailbox4_causes = APPEND, COPY
> > > >   imapsieve_mailbox4_after = file:/var/lib/dovecot/sieve/sent- 
> > > > checks.sieve
> > > > ------
> > > > 
> > > > And this sieve script:
> > > > 
> > > > ------
> > > > Message-ID header.
> > > > require [
> > > >   "variables",
> > > >   "environment",
> > > >   "duplicate",
> > > >   "imapsieve"
> > > > ];
> > > > 
> > > > […]
> > > > 
> > > > if duplicate :seconds 10 {
> > > >    discard;
> > > > }
> > > > ------
> > > > 
> > > > Otherwise, can I configure dovecot in a certain way, for
> > > > instance 
> > > > create a virtual Sent folder. This would not save the email
> > > > when 
> > > > appended, but still returns the list of sent emails ?
> > > > 
> > > > But this is not working. Any idea?
> > > > 
> > > > Thanks for your help!
> > > > 
> > > > André
> > > > 
> > > > 
> 
> 



More information about the dovecot mailing list