Re: Intercepting delivery success/fail

2019-09-12 Thread Tellier Benoit
Hello Jerry,

About success, a log is already written in MailDelivrerToHost:

Mail (xyz)  sent successfully to a...@other.tld at other.tld from us.tld
for m...@us.tld

More generally, the extension model of James is well design, and from
what you expose there is zero requirement to alter the RemoteDelivery
component. Think "composition" over "inheritance".

So:
 - Write a mailet about your failure logging
 - Configure remoteDelivery bounce processor
 - Put your mailet in that processor

Regarding success, we lack currently extension endpoints. What we may be
able to do is call a `remoteDelivery:successProcessor` to be able to
extend behaviour upon delivery.

This will for example enable per-recipient delivery notifications & the
like. This might be an implementation step for JMAP::Email_submission.

Cheers,

Benoit

On 13/09/2019 10:49, Jerry Malcolm wrote:
> Another mod I had made to v3b5 was to intercept the final result of
> success/fail of delivery.  I have a requirement to externally log the
> "mail was successfully transferred to "
> message and also after all of the retries are exhausted, the final
> 'fail' message.
> 
> Back in v3b5 I cloned the RemoteDelivery mailet and located the
> appropriate locations where the successful handoff was logged and where
> the final fail was logged.  It looks like that RemoteDelivery mailet was
> totally rewritten somewhere between b5 and 3.3.  Mail is put on a queue
> in remoteDelivery, and all the work is now handled elsewhere.
> 
> My question is simply this: What is the easiest/best/correct way to hook
> in so that I can add my logging code on the successful handoff and also
> on the final retry fail?  If I can do this without requiring a full
> rebuild, that's desired considering my disaster at build attempts.  But
> if the only way to add this required functionality is to modify core
> code, sooner or later I'll have to figure out my build problems.  Either
> way, I need to know what you recommend for hooking these two points.
> 
> Thx
> 
> 
> 
> -
> 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



Intercepting delivery success/fail

2019-09-12 Thread Jerry Malcolm
Another mod I had made to v3b5 was to intercept the final result of 
success/fail of delivery.  I have a requirement to externally log the 
"mail was successfully transferred to " 
message and also after all of the retries are exhausted, the final 
'fail' message.


Back in v3b5 I cloned the RemoteDelivery mailet and located the 
appropriate locations where the successful handoff was logged and where 
the final fail was logged.  It looks like that RemoteDelivery mailet was 
totally rewritten somewhere between b5 and 3.3.  Mail is put on a queue 
in remoteDelivery, and all the work is now handled elsewhere.


My question is simply this: What is the easiest/best/correct way to hook 
in so that I can add my logging code on the successful handoff and also 
on the final retry fail?  If I can do this without requiring a full 
rebuild, that's desired considering my disaster at build attempts.  But 
if the only way to add this required functionality is to modify core 
code, sooner or later I'll have to figure out my build problems.  Either 
way, I need to know what you recommend for hooking these two points.


Thx



-
To unsubscribe, e-mail: server-user-unsubscr...@james.apache.org
For additional commands, e-mail: server-user-h...@james.apache.org