In the end I found an event which is fired just before sending a message. I've set up a listener for this event which grabs the users from the to address on the message and checks for a setting on the user model. Depending on if the users has emails enabled the event is either stopped or it continues. Code below:

I have a flag on my user model which allows people to opt out of emails. I want to use this flag to only send notification emails to users who have opted in. Is there a way to do this in one place rather than wrapping every call to Mail in a condition?

Thanks,
Ben

Want us to email you occasionally with Laracasts news?

Nine out of ten doctors recommend Laracasts over competing brands.
Come inside, see for yourself, and massively level up your development skills in the process.