RemoteDelivery Gateway not reachable - Only 2 hours retry period - How to increase?

Dominik Katzenmaier <[email protected]> Wed, 6 Mar 2024 21:41:35 +0100
Newsgroups gmane.comp.jakarta.james.user
Message-ID <[email protected]>
Hello,

I am testing Apache James since a few days. I am using the current 3.8.1 
Spring-Edition.
My goal is to use Apache James as an SMTP relay for some of our internal 
Applications. We don’t need any Users, Domains or Mailboxes on our 
James, just a simple relay to our external SMTP-Provider. I’ve already 
successfully configured the RemoteDelivery mailet in the 
mailetcontainer.xml. James accepts the Emails via SMTP and forwards them 
to the RemoteDelivery-Gateway.

After this success, I changed the Gateway-Port in my 
RemoteDelivery-Configuration to a wrong value, to test what happens if 
the remote gateway is not reachable (to simulate a internet connection 
failure). I sent an E-Mail to the James-SMTP and waited some hours to 
see what James did with the E-Mail.

I can see in the log/wrapper.xml that James tried 1x per Minute to send 
the E-Mail to the RemoteDelivery-Gateway. BUT James stopped the retries 
after almost 2 hours (so almost 120 tries). James (or ActiveMQ itself??) 
deleted the E-Mail from the ActiveMQ-Mailqueue too, the Mail is lost.

This is a unacceptable behavior. We need at least retries for 15 Hours, 
more better several days. Where can I configure this?
I saw in the RemoteDelivery-Section of mailetcontainer.xml the options 
<delayTime> and <maxRetries>. I didn’t changed the default values, so 
they are:

<!--  Delivery Schedule based upon RFC 2821, 4.5.4.1  -->
<!--  5 day retry period, with 4 attempts in the first
                  hour, two more within the first 6 hours, and then
                  every 6 hours for the rest of the period.
           <delayTime>4 * 15 minutes, 2 * 3 hours, 18 * 6 hours</delayTime>
            -->
<delayTime>5000, 100000, 500000</delayTime>
<maxRetries>3</maxRetries>

I can't really understand the comment above.
“5 day retry period, with with 4 attempts in the first hour, two more 
within the first 6 hours, and then every 6 hours for the rest of the 
period.” ???
Sounds Good! I would take that :D . But in my test I see only a 2 hours 
retry period, with 1 try per minute.

Does anyone have an idea how I can increase the retry period?

Thank you for this great open source project and your support!

Best Regards
Dominik Katzenmaier