Le 08/07/2020 à 15:33, David Leangen a écrit :
> Thanks.
>
> I love this James adventure. It is not boring. Every time I scratch the 
> surface, a new concept pops out. 😀
>
> Ok, so digging in…
:-)
>> Also as Matthieu said, RemoteDelivery is a side effect of the current 
>> Processing chain.
> I looked at org.apache.james.transport.mailets.RemoteDelivery, with the 
> assumption that it is the correct Mailet.
Correct
> First, the javadoc says:
>> The RemoteDelivery mailet delivers messages to a remote SMTP server able to 
>> deliver or forward messages to their final destination.
> That is consistent with what you wrote. So I looked at the code to try to get 
> a sense of *how* it does this. 
Ouch. Complex and old code relying on javax.mail is waiting you ^^
> What I could gather is that the magic is actually done with 
> org.apache.james.queue.api.MailQueue. All RemoteDelivery does is enqueue the 
> Mail, then it’s done.
It do start DeliveryRunnable that consume the outgoing queue. Relaying
happens there.
> So the queue-api seems now quite important. 
I confirm it is.
> I also gather that it is the same queue that accepts mails from the incoming 
> SMTP Service in the figure. However, by looking at the api code and the 
> sparse javadocs that come with it, I am getting few clues as to what it does 
> or how it works.
>
> I can only guess that the actual heavy lifting is done with an implementation 
> that gets wired with Guice.
It is guice agnostic. Look inside RemoteDelivery::init...
> I will investigate further, but in the meantime, can somebody please point me 
> in the right direction to help speed up my journey?
>
Did I just do that or you need more information?

Cheers,

Benoit


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

Reply via email to