You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-user@james.apache.org by "Noel J. Bergman" <no...@devtech.com> on 2003/07/22 03:12:51 UTC

listserv problem (was RE: processor question)

> if somebody sent to "list-xxxxx@mailhost.perspectivehost.com,
> list-yyyyy@mailhost.perspectivehost.com" wouldn't the first
> matcher catch the email and then ghost it when done so the
> second match on "list-yyyyyy" would never happen?

Please put that in bugzilla.  There isn't a quick fix because the mailet
doesn't know the address that caused it to be invoked.

JDBCListserv supports a <list_address> element, which tells it the address
it supports.  That should probably be added to AvalonListserv.

Mark's new list serve has the same bug.

	--- Noel


---------------------------------------------------------------------
To unsubscribe, e-mail: server-user-unsubscribe@james.apache.org
For additional commands, e-mail: server-user-help@james.apache.org


Re: listserv problem (was RE: processor question)

Posted by Jay Kraly <ja...@perspectivesoftware.com>.
So then the set of non-matching recipients picks up at the next mailet?

That may explain my problem.  I wrote a matcher called "RecipientIsLike" 
which matches any recipient like "list" and sends it to my custom 
listserv.  The listserv then looks at the original recipient and queries 
the database for the list of users.  Which means that I only have one 
mailet that will match the "list" so that I don't have to modify the 
config.xml file everytime my users add a list to the database.  
Technically both recipients in the example "list1@perspectivehost.com, 
list2@perspectivehost.com" should match.  Then the listserv only 
processes the first in the list so it never sees the second listserv 
address. In your example it would work because you have separate and 
distinct mailet/matches for each list. 

So my backup plan of looping through all recipients in my listserv 
mailet is actually a good solution since it will process all matches, 
and any non-matches will continue on through the processor pipe.  
Right?  I was worried about losing the non-matches but it sounds like 
that won't be a problem.

In any case, it doesn't sound like there are any bugs here, just a 
misunderstanding of how things work.

-J


Noel J. Bergman wrote:

>Wait a minute ... Jay, I was wrong ... distracted making dinner ... hold on.
>
>The matcher does it.  The way a matcher works is that it selects the
>recipients that will be processed by the mailet.  Matchers like HostIs are
>just all or nothing, but otherwise, the matcher says which subset of
>recipients will be processed.
>
>So if I have multiple recipients, and use RecipientIs, then only that
>recipient should be passed along to the mailet for processing.
>
>So if I have e-mail sent to "list1@perspectivehost.com,
>list2@perspectivehost.com", what should happen is that the RecipientIs
>matchers should peel off a single recipient for the listserv mailet.  The
>recipient set will get split into two sets: matching and notMatching.  As
>long as neither one is empty, it continues.  So the matching set, containing
>just the current list, should be processed by the listserv.  The message is
>then ghosted.  But the other set still continues with its duplicate of the
>message.
>
>So now that I've had my dinner, if you are not seeing the above behavior,
>then we need to find out why.
>
>Ignore my earlier message.
>
>	--- Noel
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: server-user-unsubscribe@james.apache.org
>For additional commands, e-mail: server-user-help@james.apache.org
>
>
>  
>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-user-unsubscribe@james.apache.org
For additional commands, e-mail: server-user-help@james.apache.org


RE: listserv problem (was RE: processor question)

Posted by "Noel J. Bergman" <no...@devtech.com>.
Wait a minute ... Jay, I was wrong ... distracted making dinner ... hold on.

The matcher does it.  The way a matcher works is that it selects the
recipients that will be processed by the mailet.  Matchers like HostIs are
just all or nothing, but otherwise, the matcher says which subset of
recipients will be processed.

So if I have multiple recipients, and use RecipientIs, then only that
recipient should be passed along to the mailet for processing.

So if I have e-mail sent to "list1@perspectivehost.com,
list2@perspectivehost.com", what should happen is that the RecipientIs
matchers should peel off a single recipient for the listserv mailet.  The
recipient set will get split into two sets: matching and notMatching.  As
long as neither one is empty, it continues.  So the matching set, containing
just the current list, should be processed by the listserv.  The message is
then ghosted.  But the other set still continues with its duplicate of the
message.

So now that I've had my dinner, if you are not seeing the above behavior,
then we need to find out why.

Ignore my earlier message.

	--- Noel


---------------------------------------------------------------------
To unsubscribe, e-mail: server-user-unsubscribe@james.apache.org
For additional commands, e-mail: server-user-help@james.apache.org


Re: listserv problem (was RE: processor question)

Posted by Jay Kraly <ja...@perspectivesoftware.com>.
OK, I'll add it.

For future reference what is the mechanism in James that would split the 
two if the first wasn't a "list-" match?  I noticed that if I send to 
"somebody@someexternalhost.com,list-xxxxx@mailhost.perspectivesoftware.com" 
something causes the second email address for the listserv to be put 
back through the processors so that it works as expected.  It seems like 
if I could put the listserv mailet at a different point in the processor 
piping the two addresses would be split into independent messages before 
it ever got to the mailet and matcher.

In the meantime I'll probably modify my listserv mailet to loop through 
all the recipients and send to them rather than just the first in the list.

Thanks.

-J

Noel J. Bergman wrote:

>>if somebody sent to "list-xxxxx@mailhost.perspectivehost.com,
>>list-yyyyy@mailhost.perspectivehost.com" wouldn't the first
>>matcher catch the email and then ghost it when done so the
>>second match on "list-yyyyyy" would never happen?
>>    
>>
>
>Please put that in bugzilla.  There isn't a quick fix because the mailet
>doesn't know the address that caused it to be invoked.
>
>JDBCListserv supports a <list_address> element, which tells it the address
>it supports.  That should probably be added to AvalonListserv.
>
>Mark's new list serve has the same bug.
>
>	--- Noel
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: server-user-unsubscribe@james.apache.org
>For additional commands, e-mail: server-user-help@james.apache.org
>
>
>  
>