Over the years, I've come to realize that an email queue is pretty much essential for any website that sends email, and in my experience they all do.
By email queue, I mean:
- Emails are not immediately sent, but instead stored in database records.
- Any attachments that go along with the email are stored on the filesystem, and referenced in the queue record.
- A cron checks for unsent email and sends X amount of emails every N minutes.
I'm sure there are many ways to do this, but there are many advantages of having this type of queue, including having a history that admins can look at, the ability to re-send emails if somebody says they never got it, being able to view emails on development systems that don't have the ability to send email, etc.
Any chance CI4 might have such a thing built in?