Pretty slick mail tester for developers.
just build the fakemail and run it as a demon for example on port 8025
then modify your config file.
since phpmailer is included in vanilla. this is the only script to build.
$Configuration['Garden']['Email']['UseSmtp'] = '1';
$Configuration['Garden']['Email']['SmtpHost'] = 'localhost:8025';
mail sent to port 8025 will be captured to files instead of being sent.
I may not provide the completed solution you might desire, but I do try to provide honest suggestions to help you solve your issue.