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 "Benoit Tellier (Jira)" <se...@james.apache.org> on 2021/01/29 16:52:00 UTC

[jira] [Commented] (JAMES-3444) JMAP mailetcontainer validations: allow alternative configurations

    [ https://issues.apache.org/jira/browse/JAMES-3444?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17274565#comment-17274565 ] 

Benoit Tellier commented on JAMES-3444:
---------------------------------------

Similary today we ended up having a connex discussion on gitter with one of our users:

https://github.com/devnewton reported:

{code:java}
Hello, I try to setup Apache James + Cassandra + LDAP following the documentation and Dockerfile configuration sample.

James crash at startup because of missing something related to JMAP: Missing org.apache.james.jmap.mailet.filter.JMAPFiltering in mailets configuration (mailetcontainer -> processors -> transport).

I tried to disable this protocol using enabled=false in conf/jmap.properties but it has no effect.
{code}

The short term solution for him is to had the missing mailet.

But does it even make sense, when JMAP is disabled, to require people to configure JMAP mailets?

Maybe we should relax the checks and only perform them only when JMAP is enabled. This should result in an easier to use mail server.

> JMAP mailetcontainer validations: allow alternative configurations
> ------------------------------------------------------------------
>
>                 Key: JAMES-3444
>                 URL: https://issues.apache.org/jira/browse/JAMES-3444
>             Project: James Server
>          Issue Type: Improvement
>          Components: configuration, JMAP
>            Reporter: Benoit Tellier
>            Assignee: Antoine Duprat
>            Priority: Major
>             Fix For: 3.6.0
>
>
> # Why?
> Today the position of JMAP mailets is hardcoded in transport processor, and the matcher is hardcoded to RecipientIsLocal, duplicated.
> Given a Distributed James server, backed by a LDAP for identity,
> Each RecipientIsLocal mailet will trigger a call to the LDAP for each recipient.
> Standard good practices we apply at linagora is to extract all the local delivery logic in its own processor in order not to duplicate this matcher.
> However given current checks, we can not move JMAP and Vacation mailets in our local delivery pipeline.
> # Expected outcome
> I expect to be able to optimize the usage of those matchers by grouping the delivery logic into a dedicated processor, including "JMAP mailets".
> # How
> For servers powering JMAP, change the default configuration to extract a "local-delivery" processor out of "transport" processor.
> The JMAP checks should then accept these mailets in a "local-delivery" processor, but keep accepting them in "transport" processor for backward compatibility
> # Definition of done
> The default mailetcontainer.xml for JMAP backed servers should have a single RecipientIsLocal matcher.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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