This is neat, but it bugs me that it generates email addresses with real providers (Gmail, Outlook, etc). This can lead to accidental emails to real people during testing. I would recommend using @example.com for all emails.
Not to take away from the point but it’s also a good practice to catch outbound emails in dev/test and send them to the same (developer-controlled) inbox. Definitely also use fake test data, though; avoidance of this sort of mistake is best handled with a bit of redundancy.