Hi Garry, My order is:
1- <mailet match="All" class="com.foilen.james.components.mailet.ExactAndCatchAllRedirections"> <cacheMaxTimeInSeconds>10</cacheMaxTimeInSeconds> <cacheMaxEntries>1000</cacheMaxEntries> </mailet> 2- <mailet match="HasHeader=isRedirection" class="com.foilen.james.components.mailet.LogInfo"> <text>Recipient is ExactAndCatchAllRedirections</text> </mailet> 3- <mailet match="All" class="com.foilen.james.components.mailet.DumpAllSystemErr" /> 4- <mailet match="HasHeader=isRedirection" class="ToProcessor"> <processor>auth-user-relay</processor> </mailet> ... 1- is the one adding the header per recipients 2- should show, but doesn't 3- Show the logs I provided which shows the header per recipients is well present 4- not going thru since it is the same check as #2 and #2 is not working On Wed, 6 Mar 2019 at 15:47, Garry Hurley <garry.hurley...@gmail.com> wrote: > Simon, it might be a question of where you are attaching the header. In > the root processor, you need to attach the isRedirection header before your > email hits the mailet you want to use to route it. I suggest using a > multiplerecipients matcher and customizing that to identify when some > recipients are part of the group you want to add the header to. Then to > determine how it should be processed, you have a matcher that checks to see > if the header is present AND the recipient is part of said group. > Remember, processor order is important. > > On Wed, Mar 6, 2019 at 6:56 AM Simon Levesque <suriv...@gmail.com> wrote: > > > 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. > > >> > > > > > >