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.
> > >>
> > >
> >
>

Reply via email to