No no specific bad impact to expect. For external mail senders the impact is that your server will generate the bounce and apply the catch all. Performance impact shall be minimal.
For your local users using submission ports (eg 465) there's an impact: instead of a synchronous error (rejection of invalid recipients as part of the SMTP transaction) they would get a bounce - asynchronous error. Is this relevant to apply the catch all for local authenticated users? Isn't it preferable to keep the synchronous error? Only you know and James perfectly allows turning off validSMTPHandler on port 25 only... -- Best regards, Benoit TELLIER General manager of Linagora VIETNAM. Product owner for Team-Mail product. Chairman of the Apache James project. Mail: btell...@linagora.com Tel: (0033) 6 77 26 04 58 (WhatsApp, Signal) On Aug 23, 2024 11:32 AM, from Wojtek Thanks. I created one and it works kinda neat! (also API si so nice :) ). But I ran into issue and had to disable `<handler class="org.apache.james.smtpserver.fastfail.ValidRcptHandler"/>` -- any negative impact? I would imagine that could cause slight performance problems (more processing needed as whole mailet chain is executed) but other than that? Wojtek On 22/08/2024 21:34, Benoit TELLIER wrote: > Yes correct > > -- > > Best regards, > > Benoit TELLIER > > General manager of Linagora VIETNAM. > Product owner for Team-Mail product. > Chairman of the Apache James project. > > Mail: btell...@linagora.com > Tel: (0033) 6 77 26 04 58 (WhatsApp, Signal) > > > On Aug 22, 2024 6:27 PM, from Wojtek Just to make sure, mentioned > `SetRecipientLocalPart` and `SetRecipient` are suggested mailets - correct? > > Wojtek > > On 21/08/2024 13:57, Benoit TELLIER wrote: >> Hello Wojtek >> >> So the exact need would be >> >> GIVEN a mail to unkn...@domain.tld >> THEN after the bounce the emails ends up in catch-...@domain.tld >> mailbox >> >> Pros: it enables a review by the admin using standard IMAP tools >> Cons: it is stripped of the SMTP envelope (delivery context) thus can hardly >> be re-sent. Redelivering them 100% of the time right will be hard. >> MailRepositories keep the delivery context and allows for this natively. >> >> TLDR the current best practice is to rely on the mailrepository... >> While in a single domain setup Forward, Resent and friends likely can do the >> job they are overly complex with subtile differences and I would not >> personnaly use them... >> >> If asked I would rather implement something like: >> >> >>> <processor state="local-address-error" enableJmx="true"> >>> <mailet match="All" class="MetricsMailet"> >>> <metricName>mailetContainerLocalAddressError</metricName> >>> </mailet> >>> <mailet match="All" class="Bounce"> >>> <attachment>none</attachment> >>> </mailet> >>> <mailet match="All" class="SetRecipient"> >>> <recipient>catch-...@domain.tld</recipient>> </mailet> >>> <mailet match="All" class="LocalDelivery"/> >>> </processor> >> (UNIX philosophy: provide unitary, simple mailet that do one job and one and >> can be combined....) >> >> For the multi-hosting scenario I bet a SetRecipientLocalPart mailet could >> make sense. >> >> GIVEN configured with local part catch-all >> WHEN it processes rc...@domain.tld, rc...@domain.tld and rc...@other.com >> THEN it rewrites recipients to catch-...@domain.tld and catch-...@other.com >> >> Those two mailets are simple enough and generic enough IMO to lend in >> mailet/standard might they solve your use case.-- >> >> Best regards, >> >> Benoit TELLIER >> >> General manager of Linagora VIETNAM. >> Product owner for Team-Mail product. >> Chairman of the Apache James project. >> >> Mail: btell...@linagora.com >> Tel: (0033) 6 77 26 04 58 (WhatsApp, Signal) >> >> >> On Aug 21, 2024 11:44 AM, from Wojtek Digging more into it, one could use >> Forward with `forwardto`, Resend with `to` or Redirect with `to` >> but the problem I see - they all require configuring full email address >> instead of specifying only >> username, which could be somewhat problematic on installations with multiple >> domains. >> >> Is there a mailet or a configuration that would allow specifying only local >> mailbox name instead of >> full email? >> >> Wojtek >> >> On 21/08/2024 11:12, Wojtek wrote: >>> Hi all, >>> what is the current best practices to add handling of "catch all" use case >>> (i.e. redirect all >>> messages that do not match - and only those that doesn't match! - existing >>> mailbox to "catch all" >>> mailbox)? >>> >>> I found cwiki.apache.org/confluence/display/JAMES2/ConfigureJamesAsCatchAll >>> but it's from 5 >>> years ago and doesn't even mention version. From the looking at it, it >>> would redirect all messages >>> to "catch-all". >>> >>> OTOH I found github.com/foilen/james-extra-components but it hasn't been >>> update since 5 >>> years as well. >>> >>> Currently we have: >>> ```xml >>> <processor state="transport" enableJmx="true"> >>> … >>> <mailet match="HostIsLocal" class="ToProcessor"> >>> <processor>local-address-error</processor> >>> <notice>550 - Requested action not taken: no such user >>> here</notice> >>> </mailet> >>> … >>> </processor> >>> >>> <processor state="local-address-error" enableJmx="true"> >>> <mailet match="All" class="MetricsMailet"> >>> <metricName>mailetContainerLocalAddressError</metricName> >>> </mailet> >>> <mailet match="All" class="Bounce"> >>> <attachment>none</attachment> >>> </mailet> >>> <mailet match="All" class="ToRepository"> >>> <repositoryPath>file://var/mail/address-error/</repositoryPath> >>> </mailet> >>> </processor> >>> ``` >>> >>> I would assume that changing last mailet (ToRepository with error >>> repository) to some mailet. I >>> looked a the list and mailets in the sources but none of them seems to fit >>> it. >>> >>> Any suggestion how to configure it? >>> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: server-user-unsubscr...@james.apache.org >> For additional commands, e-mail: server-user-h...@james.apache.org >> >> >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: server-user-unsubscr...@james.apache.org > For additional commands, e-mail: server-user-h...@james.apache.org > > > --------------------------------------------------------------------- To unsubscribe, e-mail: server-user-unsubscr...@james.apache.org For additional commands, e-mail: server-user-h...@james.apache.org