I am working on this topic, it includes more areas than just the emails, although the emails also.
I am developing a plugin that assigns a number (hidden to the members) of "interest of this member", based on whether it is paid or not, if he has filled out his profile well, if he uploads photos, if he participates in the different sections, if he answers private messages, if they respond to private messages, if they reject friend requests or cancel them, if he connects often, if his private conversations are of many messages and all the information I can recover. The objective with this data obtained is double, for the "good" being more promoted in a widget of "proposed friendships" and for the "bad guys" to send emails to increase their activity. Emails also prioritize, if you have conversations with regular activity and respond to a conversation you notice immediately, but if you have a bad note ... emails arrive later, grouped as OxWall by default but later still. I try to have fewer emails every day and not all members deserve the same treatment.
This is already working on my website with 18,000 members, but I need to refine it and see if everything can be moved to a plugin because I have currently modified what OxWall does by default
and the policy of OxWall is against the modification of the kernel in case an update arrives (¿??)
I have not worked on the design of the emails themselves, but on when they are sent and how urgent they are, so maybe you would like to collaborate by completing your work with mine
What's the "self hosted service" you're using? Also, a lot of modern client applications such as Gmail, Outlook, etc., weigh email contents by the message data and it's sender information. Most emails from, say, facebook.com will almost always come in fine (unless the user manually marks down for spam). But lesser known "verified" domains will be judged. Some providers handle this differently than others, which is why promoting users to "whitelist" your email helps some.
Additionally, Oxwall's email handling in general isn't the best. I had a network with 700+ users, maybe 10% active, including my personal account. I received notification emails somewhat regularly, but that was on older Oxwall. It seems now that you must be setting on several site notifications for days before it will reach out. As for change password and emails like that: they seem to run fine on my test sites. It can of course be your cron job, your host, etc.
If you tested it, you can write a simple code to have an email be set up and sent and it will send instantly. Cron is a finicky technology and can sometimes work against you.
So we had an error where we switched from cPanel to CWP and there was still references to the cPanel code.
We are going to change how Oxwall call on the Cron job and also hope to drag the email instructions out of it and run it separately. This work will be carried out by our lead developer not me. My knowledge does not stretch that far!
emails seem to be behaving at the moment but I will keep you updated if we manage to make any improvements and share it with the community.