Re: [Patch] Background mail transmission



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Albrecht:

On 06/18/2017 08:25:10 AM Sun, Albrecht Dreß wrote:
Hi all,

attached is a patch implementing the automatic sending in background feature.  This includes
- a new configuration option, pretty much like the periodic check for incoming messages
- parallel transmission to multiple SMTP servers in separate threads
- a new progress dialogue, showing the operation of one or more connections which are faded in or out
- some re-factoring of the send functions.

Basically, the function is:
- When the user sends a message (see libbalsa_message_send), the timer is stopped and it is transmitted 
immediately unless a send operation to the particular server is already active.  In the latter case, an 
atomic flag is set to immediately send the message when the previos operation has been finished.
- When the user queues a message (see libbalsa_message_queue), the send timer is re-started.
- Sending the queue (see libbalsa_process_queue) counts the ready-to-send message in the outbox, and launches the 
"real" send operation for all smtp servers which are not occupied.
- When the auto-send timer expires, basically libbalsa_process_queue() is called, but without showing the 
progress dialogue.  A notification is displayed instead.
- If the progress dialogue is hidden the final message is displayed as notification.

A possible extension which should be somewhat easy to implement could be an automatic trigger of the timer 
callback (in an idle or a timer callback) if the network comes up.

As always, additional testing and reviewing as well as any feedback will be highly appreciated!

As always, thanks for all the effort that went into the patch! Builds and works for me, though I haven't yet 
had a chance to test delayed sending with multiple SMTP servers.

Pushed to master, to get wider testing…

Best,

Peter
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iEYEARECAAYFAllHDOIACgkQH1/UtbkqdPV85QCfWddIzs13y88msvwxoJaUws4X
z74AoJdEjCFUB4CCVF6ZgKEp1KW2iK6m
=XGS2
-----END PGP SIGNATURE-----


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]