When deciding on architecture, I always start with asking what are my key priorities with this project?
to minimize cost = run my own mail server
to maximize learning = write my own mail server
to maximize flexibility or do something truly unusual = one of the above
to minimize time = pay for a service
to maximize maintenance cost = cobble solution from pieces intended for other uses.
I have used Gmail for little tiny projects like a contact form that got used a dozen times per year, but that was before MG was an option. As for using Gmail or FastMail today, it will probably work for now, but will it continue doing so in the future? Maybe, but my own personal experience indicates that _all_ free services are not something one can count on persisting over the long haul. TANSTAAFL = you get what you pay for. At some point their funding will run out, or new management will decide to optimize their business expenses. If I were to plan on using a service like this (IANAL) the first thing I check is the Terms of Service. The second thing I check is the service providers intended use case. (When I read the terms of use for both Gmail and Fastmail I get the distinct impression they are intended for use by a human, not for volume transactional send). While these providers may not currently prevent their service being used for transactional mail send - there is a long history of service providers throttling, ejecting, or (if paid) increasing the billing for their highest volume users. When that inevitably (considering history) happens, a new solution will have to be found (probably with minimal notice and urgent deadlines). I don't know about you but I have enough on my plate maintaining the evolving decay of my projects (as libraries fall out of favor and security updates stop) without having to worry about monitoring changes in QOS for email deliver-ability for a cobbled together solution.
Among bulk send providers, Amazon SES is probably cheapest (I read their chart as $100 for 1 Million emails).
Finally, I got something very different out of my reading on running your own mail servers. HN search (https://hn.algolia.com/?query=mail%20server&prefix&dateRange...)