Subject: Several Sieve Questions

From: "Esh, Thomas D (Tom)" <[email-masked]>
Date: Thu, 13 Dec 2001 14:23:00 -0500

Hi,

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.

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

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

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.

   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?

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.

Thanks
Tom

Thomas D. Esh
3B-316
614-860-3698
[email-masked]

---

From: Lawrence Greenfield <[email-masked]>
Date: Thu, 13 Dec 2001 15:14:24 -0500

From: "Esh, Thomas D (Tom)" <[email-masked]>
   Date: Thu, 13 Dec 2001 14:23:00 -0500

   Hi,

   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 allows you to see the BCC header only if the sending MUA
actually included the BCC header on your copy.  Since that would be
silly (not the point of BCC) you generally won't be able to see them
in Sieve.

Sieve also only lets you see the envelope address that resulted in
your Sieve script receiving it---you can't see the other recipients of
the message.

   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.

This isn't in the base Sieve specification.

   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 also isn't in the base Sieve specification.

Larry

---

From: [email-masked]
Date: Thu, 13 Dec 2001 19:26:24 -0800 (PST)

>    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" "[email-masked]"

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
information.

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

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 either
>    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.

>    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.

>    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.

>    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.

				Ned

Date: Thu, 13 Dec 2001 19:26:24 -0800 (PST)
From: [email-masked]
Subject: Re: Several Sieve Questions
To: "Esh, Thomas D (Tom)" <[email-masked]>
Cc: "[email-masked]'" <[email-masked]>
Sender: [email-masked]

>    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" "[email-masked]"

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
information.

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

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 either
>    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.

>    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.

>    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.

>    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.

				Ned

To: [email-masked]
Subject: Fwd: Several Sieve Questions
Date: Thu, 13 Dec 2001 20:04:23 -0500 (EST)
From: Doug Friend <[email-masked]>
Cc: [email-masked]
Sender: [email-masked]

Hi Paul,

Any idea what this email reached me.  The last hop after
[email-masked] was to my email address, and I'm not related to this
domain (at least that I know of).  

Thanks,

Doug.

----- Forwarded message from "Esh, Thomas D (Tom)" <[email-masked]> -----
Date: Thu, 13 Dec 2001 14:23:00 -0500
From: "Esh, Thomas D (Tom)" <[email-masked]>
Reply-To: "Esh, Thomas D (Tom)" <[email-masked]>
Subject: Several Sieve Questions
To: "[email-masked]'" <[email-masked]>

Hi,

Thanks
Tom

Thomas D. Esh
3B-316
614-860-3698
[email-masked]

----- End forwarded message -----

Date: Thu, 13 Dec 2001 15:14:24 -0500
From: Lawrence Greenfield <[email-masked]>
To: "[email-masked]'" <[email-masked]>, "[email-masked], Thomas D (Tom)" <[email-masked]>
Subject: Re: Several Sieve Questions
Sender: [email-masked]

   Hi,

Larry

From: "Esh, Thomas D (Tom)" <[email-masked]>
To: "[email-masked]'" <[email-masked]>
Subject: Several Sieve Questions
Date: Thu, 13 Dec 2001 14:23:00 -0500
Sender: [email-masked]

Hi,

Thanks
Tom

Thomas D. Esh
3B-316
614-860-3698
[email-masked]