Sending a mail with every error, via a custom error page, may not work if the problem is with PHP related: your custom page may not run either so the mail doesn't go out. Also you'll get one email per error which could be a flood.
I'd suggest instead implementing some form of log scanning: have a cron job (or scheduled task under Windows) scan the log files for errors every day or every few hours and send a summary of anything found since the last check to the relevant admin(s). You could also make your log checking script do a few other things like make sure the web server service (and any database services and so forth) is running, if only for paranoia's sake. If nothing else, one email per reporting period can cover other HTTP error codes (401, 404, ...) and other things found in the logs. If you do this, always send the email message even if nothing is wrong: that way you know if your scanning script has failed to run because you stop getting messages (otherwise no message could either mean all is well or the damage report machine is damaged).