Hello together,

I have some questions regarding the email queues in James.

As far as I understand, there are two processes where an email queue is 
necessary, receiving email and sending email.
In my head, the ideal process for these processes looks like this:

- After the client has sent all commands, the email is put in a queue (spool / 
outgoing).
- If and only if the queue operation succeeded, James tells the client that its 
email was received successfully.
- The spooler/deliverer takes an email from the queue and processes it 
(mailetcontainer / remote delivery).
- If and only if the email processing was successful (persisted in 
mailbox/accepted by remote server), the email is removed from the queue.

If I understand the James code correctly (please correct me if I'm wrong), the 
processors completely take emails out of the queue (meaning they only exist in 
memory?) and reinsert them later if necessary.
This would mean that a crash / server restart while an email is processed would 
mean that the email is lost with no possibility of informing the client. Can I 
do something about that?

According to the docs (and logs during startup), James uses two different 
message queues:

- ActiveMQ (https://james.apache.org/server/config-activemq.html): Manages at 
least the queues 'spool' and 'outgoing' according to the docs. According to my 
logs, it uses KahaDB as persistence adapter.
- RabbitMQ (https://james.apache.org/server/config-rabbitmq.html): Used for 
distributed MailQueue and distributed event system according to the docs. It is 
also running in my single node deployment (as in-memory version because I did 
not configure anything).

Which of them is used for the processes described above?
Can I configure persistence for the email queues? I would like to have a system 
which I can restart while emails are queued without them getting lost.

Best regards,
Felix
---
Gesellschaft für interkulturelles
Zusammenleben gGmbH (GIZ)
Felix Auringer
IT
Reformationsplatz 2
13597 Berlin

Tel: 030/513 0100 00; Fax: 030/513 0100 09 www.giz.berlin; [email protected]

Amtsgericht Charlottenburg HRB 200872 B
Geschäftsführerin: Dr. Britta Marschke

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to