I haven't decided if this is a bug or a feature yet. I can see some advantages to either method. That said, I'm adding it as an issue anyway because it makes generic project type handling problematic. finish() of mailer.py does not attempt to catch the exception SMTPRecipientsRefused, which is raised if the recipient of the destined mail does not exist. This blocks any other mails that might be sent out as well. Given the commit has already happened, and the lack of error/message reporting of the hook system in general, my solution was just to catch the exception and pass. I'm not sure whether or not I'm satisfied with that solution though, as a message should probably be sent to stderr.
Original issue reported by rzigweid