On Tue, Oct 21, 2008 at 12:10:22AM +0200, Kjetil Torgrim Homme wrote:
On Mon, 2008-10-20 at 21:16 +0200, Arnt Gulbrandsen wrote:
if address :is :all [ "list-id", "to", "cc" ]
"ietf-mta-filters(_at_)imc(_dot_)org" {
fileinto "sieve";
}
I hope that users will not relying on their server converting
ietf-mta-filters.imc.org into ietf-mta-filter(_at_)imc(_dot_)org(_dot_)
Likewise for
extracting stuff from a mailto URL. I wouldn't object to this being
added to RFC 5228bis (or do we call it 3028ter?), but with the current
state of affairs these headers should be left alone, and the address
operator should fail.
Yes, Arnt's test should not attempt to combine "list-id" with "to" and "cc".
I suspect that was just a quick mistake.
But there's a good point in there (not about converting the format, but
about the lack of an '@'). My implementation does not require an '@' in
any address in an address test. If an '@' is missing, :localpart and
:domain do not return anything, but :all returns the entire string. I
believe this is correct behavior according to RFC5228 (but even if it
weren't, I'd make it work that way anyway, since I'd want it to be
useful rather than fail). The list-id header field has a well defined
format that conforms to the way my implementation extracts addreses, and
so I feel happy using the address test against List-ID. e.g.:
if anyof(
address :is :all ["to", "cc"] "ietf-mta-filters(_at_)imc(_dot_)org",
address :is :all "list-id" "ietf-mta-filters.imc.org" )
{ ... }
(barring typos and errors ..)
mm