Have you already tested from a remote server? If not, I recommend testing that.
Sending email from localhost and even your remote server is very unreliable. Often, the mails arrive much later or end up in the spam folder if they arrive at all.
It is absolutely recommendable to send your mails through a service.
Edit: I googled a bit to find a way to debug what is happening. If you are on a Mac, you can start logging using this line in terminal:
log stream --predicate '(process == "smtpd") || (process == "smtp")' --info
This starts a log stream. Now once you start sending mail via SMTP, you can watch this stream to see what is happening, for example if your IP is blacklisted etc.
There are probably other ways to debug this but it works.
You can also check here if your IP is blocked: https://www.spamhaus.org/lookup/
Seems that doing a lot of such email tests with your IP lands you on the list. At least, it happened with my IP.