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.
---------------------------------------------------------------------
To unsubscribe, e-mail: server-user-unsubscr...@james.apache.org
For additional commands, e-mail: server-user-h...@james.apache.org