Apparently, odoo ran into the cpu time limit while generating the emails.
The log file states about 200 lines of
openerp.tools.translate: translation went wrong for "'read more'", skipped
followed by
ERROR ? openerp.service.server: Worker (26558) timeout", "ERROR openerp.addons.base.ir.ir_cron: Call of self.pool.get('mail.mass_mailing')._process_mass_mailing_queue(cr, uid, *()) failed in Job 6
Exception: CPU time limit exceeded.
INFO openerp.service.server: Worker (23346) CPU time limit (60) reached.
My limit_cpu_time was set to 60, I've changed it to 600. That seems to have been the problem. Now the system is sending out 500 emails every time the process_mass_mail_queue action is triggered.
It finishes sending the 500 emails within around 3-4 mins after I manually start the action.
Although mails are being delivered, it now logs the following error sequence:
ERROR openerp.addons.mail.models.mail_mail: failed sending mail (id: 289300)
ERROR openerp.addons.base.ir.ir_cron: Call of self.pool.get('mail.mass_mailing')._process_mass_mailing_queue(cr, uid, *()) failed in Job 6
TransactionRollbackError: could not serialize access due to concurrent update
ERROR openerp.addons.mail.models.mail_mail: Failed processing mail queue
MissingError: (u'One of the records you are trying to modify has already been deleted (Document type: Outgoing Mails).', None)
And this is followed by
DEBUG openerp.addons.base.ir.ir_cron: 24.988s (mail.mail, process_email_queue)
So it might be that the automatic trigger of the mail queue process interferes with the mass mail process.
After setting the interval of the mail queue process to 20 mins instead of 2 mins, so it won't be triggered during the mass mail process, then the mass mail process runs without any errors occurring.
However, after counting the amount of "successfully sent" statements in the log file, I can conclude that the last error does not cause any of the 500 emails to drop.
So for now I conclude that for the mass mail to work (for a lager number of recipients) you will need to make sure that there is sufficient cpu time for the process
Also, if you don't want any errors occurring, make sure that:
How often does the automated task go off? Could it be that the scheduler isn't done with processing / sending out the e-mails before it starts again?
If starting the queue task means that a mailing that is in processing is restarted, then this could be the problem. As I have shortened the interval and was repeatedly restarting the task manually (with me having no patients). Only way to figure this out is by trying next month, when the next mailing is due. I will update by then. Thanks for this suggestion Yenthe! Do you have any Idea how long the processing of 3K mail-addresses should take? (Its running on a 2core Digital Ocean instance)