[Top] [All Lists]

Re: Several Sieve Questions

2001-12-13 20:42:34

I'm relatively new to the mail filtering area and I have
a few questions regarding Sieve and it's extensions.  I would
appreciate any insight that people can provide to the questions:

1. How does server filtering work on the Bcc: field?  My understanding
   is the Bcc: field is not put into the message body, but that recipients
   specified in the Bcc: line are put on the envelope rcpt-to list.

Sieve filters have access to header fields and to what's currently in the
envelope (assuming that the envelope extension is supported). This access is
entirely based on field name -- there are no semantics associated with, say

     header :contains "from" "foo(_at_)bar(_dot_)com"

other than accessing the field named bcc if one is present. If the blind carbon
information isn't included in the header there's no way sieve can access it; a
command like the one shown above is in no way attempting to access such

And while you can access parts of the message envelope in some implementations,
anyone making the assumption that an address that appears in the envelope to
but in no to or cc header is a blind carbon recipient is making a serious
blunder. Email is more complex than this and regularly invalidates such
assumptions. (There actually are systems that attempt to do this, and they work
extraordinarily badly in practice.)

   Doesn't filtering based on bcc: and envelope rcpt-to violate the intention
   of the msg originator in specifying the bcc: field?

No. If the bcc field is there to be read it is because the sender put it there
to be read. Generally speaking when mail agents do that they make a separate
copy of the message for each bcc recipient . As for envelope recipient
information, sieve only provides access to *your* address. In addition, the
common strategy of creating separate bcc copies means the information isn't
there to begin with. And finally, the way SMTP works is such that other
addresses often aren't available by the time sieve is invoked. We're not
dealing with X.400 here.

   For example, I could set up a filter to check if my boss was included in 
   the bcc: header or the rcpt-to line, thus providing me information that
   the msg originator purposely intended to hide from me.

If that person uses such an egregiously broken agent to send mail he deserves
everything he gets.

2. Can you filter based on mime component types in Sieve?  I read most of
   the RFCs and draft extensions and I didn't see anything that seemed to
   allow this.

Nope. There is no sieve extension to do this at present.

   For example, I want to set up a filter to file all messages with a mime
   component of image/tiff to a particular folder.  How do I do it in Sieve?

You'd need to define an extension to do it.

3. Can you filter based on msg receive (or sent) time in Sieve?  Once again,
   I didn't see anything in the rfc about this.   This ability combined with
   the vacation extension would allow users to set up vacation filters in
   advance of their vacations and when combined with the proposed
   notification extension would allow users to specify different
   notification rules for messages that are received during work
   and out-of-work hours.

This isn't presently possible, but is definitely a needed extension, and one
I plan to work on, time permitting.


<Prev in Thread] Current Thread [Next in Thread>