sieve vacation: write to the .lda-dupes database without generating a vacation response.

Tom Hendrikx tom at whyscream.net
Tue Apr 19 18:55:50 UTC 2016


On 19-04-16 20:01, Bradley M. Kuhn wrote:
> I'm using Dovecot's sieve extensions quite happily, they are very good!
> Thanks for all who worked on them.  I have a question that maybe is
> appropriate for a sieve-specific discussion list, so if there is one I
> should post to instead, please let me know:
> 
> 
> I've poked through the sieve vacation RFC and all the documentation I
> can find and I cannot figure out how to do this.  It's more-or-less not
> the intent of sieve's vacation, so perhaps it's more of a "you can't get
> there from here" situation, but maybe folks here have an idea:
> 
> I am (ab)?using sieve vacation to send an automated response at all
> times to all senders who put me in the To line, every 90 days, which
> explains my lack of responsiveness and to explain who else might be
> better contact. (I have hundreds of emails sent to me to which I will
> never have time to respond, and probably should have been routed to
> someone else at my organization anyway.)
> 
> However, I *don't* want my regular correspondents to receive this
> autoreply.  I'd thus like to seed the database with known individuals
> I'm corresponding with to pretend they've already received the
> autoresponder.
> 

You shouldn't try to force feed the dupes files, that's a hack: the
dupes files has no public api so you probably shouldnt be messing with
it directly.
A proper solution would be to include a list of excluded addresses in
the sieve script, and exempt those from the autoresponder, maybe
something like this:

require "envelope";
require "variables";

set :lower "whitelist" "first at example,com second at example.com";

if envelope :matches "from" "*" {
  set :lower "sender" "${0}";
  if string :matches "${sender}" "${whitelist}" {
    # do nothing, sender is on whitelist
  } else{
    # do regular autoresponder stuff
  }
}

The whitelist variable could be auto generated and updated from your
address book or archive box parser.

I have no idea if this actually scales. You could also implement the
whitelist variable using extdata
(http://wiki2.dovecot.org/Pigeonhole/Sieve/Plugins/Extdata), or
outsource the complete whitelist check to an external program (a trivial
script in a real programming language) using extprograms's "execute"
(http://wiki2.dovecot.org/Pigeonhole/Sieve/Plugins/Extprograms).

Good luck!

Kind regards,
	Tom

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://dovecot.org/pipermail/dovecot/attachments/20160419/ec579816/attachment-0001.sig>


More information about the dovecot mailing list