Step 0: Sign up for a gmail account.
Step 1: Buy a domain.
…from Namecheap, Google Domains, or another registrar with free email forwarding.
Step 2: Set up email forwarding.
This will make emails sent to you@domain.com go to your gmail account.
Here’s what it looks like in namecheap:

Now you have a read-only email address! Halfway there.
Step 3: Set up “Send email as” in Gmail.
Follow the instructions here. The rest of this section is a copy of those instructions.
Enable Two-Factor authentication and create an app password.
Go to the “Accounts and Import” settings.

Click “Add another email address”.

Enter your name and business email address. Uncheck the “Treat as an alias” box.

Use Gmail itself (smtp.gmail.com) as your smtp server. The username is the part of your gmail address before the “@” (e.g. mark@gmail.com -> username is “mark”). Password is the App Password you generated earlier.

They’ll now send a confirmation email to your business email (mark@customdomain.com). Since you already enabled forwarding, this confirmation will be sent to your gmail. Click the link inside to confirm.
Step 4: Send emails.
If that all was successful, you’ll now be able to select which email to send from when you compose.

In the settings, you can optionally select this radio button to automatically choose which account to reply from based on the original message sender.

There’s one catch. When people receive an email sent from the business address, they may see this small “via gmail.com” text.

Limitations
You cannot use this email address for sending calendar invites, but you can receive and accept them.
Conclusion
That’s it! We’ve successfully set up a business email account that can receive and send emails from a gmail interface. It is completely free, not including the cost of the domain.
Now we can set up a mailing list without worry about deliverability issues!