Hi Raphael, no worries for the delais (as you can see I have them too :) ). I created https://jira.apache.org/jira/browse/JAMES-2735 and will provide the pull request shortly.
regards On Tue, 9 Apr 2019 at 04:56, Raphael OUAZANA <raphael.ouaz...@linagora.com> wrote: > Hi Simon, > > Thank you very much and sorry for the late reply. > > I see nothing wrong with long names. Here I would just replace Specific > by PerRecipient as it is the common naming in James. > > An alternative to your implementation would be to have specific mailets > to remove/search PerRecipient headers, and use mailet composability to > check both at one time. But I'm fine with your solution, don't hesitate > to open a PR for them. > > Thanks, > Raphaël. > > Le 2019-04-01 22:34, Simon Levesque a écrit : > > Hi Raphael, > > > > I created a matcher and remover that take care of the per recipient > > headers as well as the global ones. I copied the existing ones (with > > their tests) and added the use cases for per recipient. > > They are currently available there: > > > > * > > > https://github.com/foilen/james-extra-components/blob/master/src/main/java/com/foilen/james/components/mailet/RemoveHeaderGlobalAndSpecific.java > > > > * > > > https://github.com/foilen/james-extra-components/blob/master/src/test/java/com/foilen/james/components/mailet/RemoveHeaderGlobalAndSpecificTest.java > > > > * > > > https://github.com/foilen/james-extra-components/blob/master/src/main/java/com/foilen/james/components/matcher/HasHeaderGlobalAndSpecific.java > > > > * > > > https://github.com/foilen/james-extra-components/blob/master/src/test/java/com/foilen/james/components/matcher/HasHeaderGlobalAndSpecificTest.java > > > > I would like to add them in the James project, so I will create a Jira > > for them, but I wanted to know what names would you suggest? Mine are > > pretty long, so I would like to know your thoughts. > > > > Thanks > > > > On Thu, 7 Mar 2019 at 10:05, Raphael OUAZANA > > <raphael.ouaz...@linagora.com> wrote: > > > >> Hi, > >> > >> You are right HasHeader does not handle perRecipientHeaders. > >> > >> I'm not sure of the good solution for this: either you can modify > >> HasHeader to return a list of recipients depending on > >> perRecipientHeaders (a.), or you can write an other matcher (b.). > >> Given the documentation I think (b.) would be more appropriate, but > >> other advices are very welcome. > >> > >> Regards, > >> Raphaël. > >> > >> Le 2019-03-06 12:55, Simon Levesque a écrit : > >>> Hi, > >>> I added that logic to add an header per recipient, but it is being > >>> ignored by HasHeader . > >>> > >>> E.g. in my logs, I can see: > >>> > >>> INFO | jvm 1 | 2019/03/06 11:44:48 | ---[Mail - > >> Recipients]--- > >>> INFO | jvm 1 | 2019/03/06 11:44:48 | suriv...@gmail.com > >>> INFO | jvm 1 | 2019/03/06 11:44:48 | si...@nnnn.com > >>> INFO | jvm 1 | 2019/03/06 11:44:48 | ---[Mail - Headers Per > >>> Recipient]--- > >>> INFO | jvm 1 | 2019/03/06 11:44:48 | si...@nnnn.com : > >>> isRedirection -> true > >>> > >>> and > >>> > >>> <mailet match="HasHeader=isRedirection" > >>> class="com.foilen.james.components.mailet.LogInfo"> > >>> <text>Recipient is ExactAndCatchAllRedirections</text> > >>> </mailet> > >>> is not catching it. If I put the header on the message itself, > >> then it > >>> is getting it. > >>> > >>> Is it a bug in the matcher? Should I use another matcher? > >>> thanks > >>> > >>> On Mon, 4 Mar 2019 at 10:06, Simon Levesque <suriv...@gmail.com> > >>> wrote: > >>> > >>>> Great, i will try that. > >>>> Thanks > >>>> > >>>> Le lun. 4 mars 2019 08:02, Raphael OUAZANA > >>>> <raphael.ouaz...@linagora.com> a écrit : > >>>> > >>>>> Hi, > >>>>> > >>>>> Le 2019-03-04 13:16, Simon Levesque a écrit : > >>>>>> Hi all, > >>>>>> > >>>>>> I created a mailet that modifies some recipients. When > >> modifying > >>>>> them, > >>>>>> I > >>>>>> want to add an header only to those modified. > >>>>>> Given the method's signature: > >>>>>> > >>>>>> public void service(Mail mail) throws MessagingException { > >>>>>> > >>>>>> It looks like I can only modify one mail. > >>>>>> > >>>>>> From the documentation, I recal that if one message has 5 > >>>>> recipients, > >>>>>> then > >>>>>> they would be splited in 5 messages (one per recipient) and > >>>>> being > >>>>>> processed > >>>>>> individually, but in pratice, I am not seing that. > >>>>>> Is there a way to do any of these: > >>>>>> > >>>>>> 1. configure something to have one mail per recipient > >>>>>> 2. from a mailet, split a mail in 2 or call a service to > >>>>> create a > >>>>>> new > >>>>>> mail > >>>>> > >>>>> Something has been added recently exactly for this purpose: > >>>>> perRecipientHeaders. > >>>>> > >>>>> See Mail.addSpecificHeaderForRecipient and > >>>>> Mail.getPerRecipientSpecificHeaders. > >>>>> > >>>>> Regards, > >>>>> Raphaël Ouazana. >