[ingo] sieve filters on addresses doesn't follow expected behavior: reasoning?

Todd Merritt tmerritt at email.arizona.edu
Tue Feb 21 11:54:14 PST 2006


I would disagree.  If I enter a filter like if from address begins with 
foobar, I would expect it to match the _address_, not some random text.  
Consider the inverse of your example.  I want to discard all mail from 
pest at annoyance.com, how can I effectively do that if the only part I can 
filter on is dynamic ?


Steve Block wrote:
> Hi.
>
> I recently installed horde, imp, ingo, and turba from CVS and got 
> everything up and running. Setup was fairly easy and the system seems to 
> work quite well. My mail server is running Cyrus 2.1.18, and I use sieve 
> for server-side mail filtering.
>
> I was having trouble with a few of the sieve filters I created in ingo, 
> however. In particular, the filter I created to sort email from the 
> server's cron daemon into its own folder did not appear to be working.
>
> I looked at the ingo-generated sieve script more closely and realized 
> that it was only checking against the From _address_, and not the whole 
> header. I had created the rule to file the email where From contained 
> "Cron Daemon", since the 'root' email address sometimes sends other mail
> that should be filed elsewhere. Since the generated script only checked 
> against the address, the match would always fail and the message would 
> always end up in my inbox.
>
> I checked into the sieve.php file for ingo and found where the checking 
> for To, From, Cc, or Bcc occurs, and where it switches into matching by 
> address rather than header. I then disabled that check, told it to match 
> by header, and things seem to be working the way I expect.
>
> So far all this makes sense, except the reason why this extra check was 
> implemented in the first place. The comment above that check says:
>
> /* Do 'smarter' searching for fields where we know we have                      
>  * * e-mail addresses. */
>
> but I find this behavior to be anything but smart. I don't believe that 
> one can assume that a user going to the Filters page to create a filter 
> on the "From" field knows that he should be using an email address as 
> the criteria. Most mail clients, IMP included, show the person's name in 
> the From field on every email, and this behavior would lead the user, 
> like it did me, into thinking he could filter on anything in From.
>
> Not only that, but in this day and age of free email addresses, some 
> people, including some of my friends, seem to send mail from a host of 
> random accounts they have opened. One day I may get an email from 
> 'Your Friend <somebody at gmail.com>', and the next day it might be
> 'Your Friend <somebody1235 at yahoo.com>'. I should be able to create a 
> filter based on matching Your Friend if I want to.
>
> Thus, this clever programming breaks what I believe to be the
> standard user-expected behavior for filtering by who sent the email.
> It eliminates any flexibility in matching on those headers as well.
>
> I checked CVS for when this was implemented, and the changelog for
> sieve.php when this behavior was introduced has the following comment: 
>
> "When the From/To/Cc/Bcc fields are selected in the condition, it
> generates the same type of test as for the rest of the header tests.
> This isn't ideal because it includes the text outside of the <>'s.
> Instead, use Sieve_Test_Address instead of Sieve_Test_Header if one of 
> those fields is selected."
>
> I fail to see how this wasn't ideal. What's more, I fail to see how the 
> change is ideal, even if the original implementation wasn't either.
>
> I do see that this change was made over 2 and a half years ago, so maybe
> I'm the only one who finds this frustrating. Obviously I have dealt with
> the problem for myself, but I wonder if the reasoning behind the 
> original change should be revisited, and better filter generating 
> behavior introduced.
>
> I know this message was long, so thanks to those who made it all the way 
> through. I hope I was coherent enough to get my point across without
> sounding like too much of an asshole.
>
> Regards,
>
>   



More information about the ingo mailing list