You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by Jerry Malcolm <te...@malcolms.com> on 2019/10/06 20:15:30 UTC

Adding Recipient-Specific headers

I noticed in 3.3 that the SpamAssassin mailet changed to support 
different spamassassin results per recipient in a multi-recipient 
email.  I understand MailImpl's PerRecipientHeaders.  And I found 
MailDispatcher's addSpecificHeadersForRecipient(...) that adds the 
actual headers.  But it appears that MailDispatcher is outbound only.   
The per-recipient spamassassin results are analyzed in IsMarkedAsSpam 
matcher.  No problems with any of that.

Here's my issue... I am adding an option for debug purposes to store 
additional spamassassin output as headers.  I'm simply adding a few more 
entries in the PerRecipientHeaders object.  But it appears that the 
PerRecipientHeaders are not being converted to actual headers on inbound 
mail.  I figure that's reasonable since spamassassin mailet was the only 
code adding them, and the spam matcher handles it.  But if any other 
mailets (or in my case, additions to spamassassin mailet) add 
PerRecipientHeaders, they are lost.

I know how to convert them to real headers. I can easily make the 
addition to the code. My concern is that I don't know when they should 
be added.  This is where it gets muddy for me.  Where in the flow (what 
class) does an inbound email get split into per-recipient instances?  
Obviously, per-recipient headers need to get added 'per 
recipient/instance' (after the split).

Can someone tell me the recommended class to add any 'per recipient' 
headers as real headers to an inbound email?  If my understanding is 
totally wrong, I'm up for some education as well...

Thx.

Jerry


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


Re: Adding Recipient-Specific headers

Posted by Jerry Malcolm <te...@malcolms.com>.
Tellier,

I'm sorry for your sake that this is a bug since it's work for you to 
fix it.  However, I'm happy for my sake that it's a bug since it means 
I'm finally beginning to understand the flow and something didn't seem 
right.

I have a temporary workaround to this.  So not a big rush.  But let me 
know when the master has been updated.  I'll help test it.

Jerry

On 10/7/2019 12:29 AM, Tellier Benoit wrote:
> Hi Jerry,
>
> This is a bug, based on your mail I opened a report there:
>
> https://issues.apache.org/jira/browse/JAMES-2913
>
> I'll write a failing integration test regarding this during my lunch
> pause but I won't have the time for writing the fix...
>
> Best regards,
>
> Benoit Tellier
>
> On 07/10/2019 03:15, Jerry Malcolm wrote:
>> I noticed in 3.3 that the SpamAssassin mailet changed to support
>> different spamassassin results per recipient in a multi-recipient
>> email.  I understand MailImpl's PerRecipientHeaders.  And I found
>> MailDispatcher's addSpecificHeadersForRecipient(...) that adds the
>> actual headers.  But it appears that MailDispatcher is outbound only.
>> The per-recipient spamassassin results are analyzed in IsMarkedAsSpam
>> matcher.  No problems with any of that.
>>
>> Here's my issue... I am adding an option for debug purposes to store
>> additional spamassassin output as headers.  I'm simply adding a few more
>> entries in the PerRecipientHeaders object.  But it appears that the
>> PerRecipientHeaders are not being converted to actual headers on inbound
>> mail.  I figure that's reasonable since spamassassin mailet was the only
>> code adding them, and the spam matcher handles it.  But if any other
>> mailets (or in my case, additions to spamassassin mailet) add
>> PerRecipientHeaders, they are lost.
>>
>> I know how to convert them to real headers. I can easily make the
>> addition to the code. My concern is that I don't know when they should
>> be added.  This is where it gets muddy for me.  Where in the flow (what
>> class) does an inbound email get split into per-recipient instances?
>> Obviously, per-recipient headers need to get added 'per
>> recipient/instance' (after the split).
>>
>> Can someone tell me the recommended class to add any 'per recipient'
>> headers as real headers to an inbound email?  If my understanding is
>> totally wrong, I'm up for some education as well...
>>
>> Thx.
>>
>> Jerry
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
>> For additional commands, e-mail: server-dev-help@james.apache.org
>>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
> For additional commands, e-mail: server-dev-help@james.apache.org
>

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


Re: Adding Recipient-Specific headers

Posted by Tellier Benoit <bt...@apache.org>.
Hi Jerry,

This is a bug, based on your mail I opened a report there:

https://issues.apache.org/jira/browse/JAMES-2913

I'll write a failing integration test regarding this during my lunch
pause but I won't have the time for writing the fix...

Best regards,

Benoit Tellier

On 07/10/2019 03:15, Jerry Malcolm wrote:
> I noticed in 3.3 that the SpamAssassin mailet changed to support
> different spamassassin results per recipient in a multi-recipient
> email.  I understand MailImpl's PerRecipientHeaders.  And I found
> MailDispatcher's addSpecificHeadersForRecipient(...) that adds the
> actual headers.  But it appears that MailDispatcher is outbound only.  
> The per-recipient spamassassin results are analyzed in IsMarkedAsSpam
> matcher.  No problems with any of that.
> 
> Here's my issue... I am adding an option for debug purposes to store
> additional spamassassin output as headers.  I'm simply adding a few more
> entries in the PerRecipientHeaders object.  But it appears that the
> PerRecipientHeaders are not being converted to actual headers on inbound
> mail.  I figure that's reasonable since spamassassin mailet was the only
> code adding them, and the spam matcher handles it.  But if any other
> mailets (or in my case, additions to spamassassin mailet) add
> PerRecipientHeaders, they are lost.
> 
> I know how to convert them to real headers. I can easily make the
> addition to the code. My concern is that I don't know when they should
> be added.  This is where it gets muddy for me.  Where in the flow (what
> class) does an inbound email get split into per-recipient instances? 
> Obviously, per-recipient headers need to get added 'per
> recipient/instance' (after the split).
> 
> Can someone tell me the recommended class to add any 'per recipient'
> headers as real headers to an inbound email?  If my understanding is
> totally wrong, I'm up for some education as well...
> 
> Thx.
> 
> Jerry
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
> For additional commands, e-mail: server-dev-help@james.apache.org
> 

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