Johan,
I am not sure what you are using to send email, but the EmailTemplate module from the app store includes a queueing mechanism. Using this mechanism, you place as many emails as you want to in the queue, and the module sends queued emails via a scheduled event. This queueing mechanism also includes retries, in case there is an issue with sending an email that is caused by the receiving server, the module will try to send emails again. The number of times an email will be retried is configurable in the module.
This module may address your requirements.
Mike
I would suggest using the process queue in situations like yours. That module gives you a lot more options to define regarding what it needs to do and lets you monitor the queues. It's a bit extensive to set up correctly, but I have good experiences with it.