It is 2023 and we did the unthinkable: spun up our own mail server for sending transactional mail.
Some tips: warming up an IP address is critical (see https://sendgrid.com/resource/email-guide-ip-warm-up/) and expect to be greylisted at first, especially by mail providers at registrars and web hosts so ensure you have decent retries configured.
Watch your logs for messages telling you to back off (e.g. Google rate limited us on our second day so we reduced the volume of mail until we had a little more reputation).
Keep your eyes on Google’s Postmaster Tools https://www.gmail.com/postmaster/ and Outlook.com Smart Network Data Services https://sendersupport.olc.protection.outlook.com/snds/ to gauge your domain and IP reputation.
Use https://www.mail-tester.com/ to get as many points as possible (expect a lot of SPF and DKIM record shenanigans).
Read your bounce messages (even if you’ll also get people’s out of office replies). This is made easier if you use VERP (https://en.m.wikipedia.org/wiki/Variable_envelope_return_path) so all bounces come to one inbox with recipient info.
Re SPF shenanigans: it makes things simpler if you use a single, consistent hostname for your mail server (as used in the HELO command), its Return Path and the reverse DNS record for your sending IP.
You’ll need an SPF record on your Return Path domain anyway and will benefit from a slight boost by having an SPF record on your HELO domain too (see SPF_HELO_PASS in https://svn.apache.org/repos/asf/spamassassin/trunk/rules/25_spf.cf).
We use a subdomain which has the benefit of keeping SPF records out of the apex domain’s TXT records.
@mudge very brave of you. What was your motivation for using your own server over using a delivery service?
@mudge You may need to forward this thread to the BBC. They've no idea how to run an email server, apparently.
@shane yikes, it is very easy to slip up.
@mudge What about if you're an individual with a low volume of mail? The 30-day retention period especially is very concerning.
@sdubinsky ah yeah, the rolling 30 day reputation window will make it difficult for a very low volume of mail. The big providers would probably be fine but the smaller ones who greylist by default would be a pain.