Hello. Let's say I want to selfhost an email server (smtp + imap) that only will be used to receive email.
I only will send email internally (from my domain to my domain) and receive from 3rd parties.
Should I setup DKIM, DMARC, SPF and reverse IP lookup?
To be honest, I'm having a bit of hard time understanding the madness of email authentication. So I can't figure it out by myself if those mechanisms are needed in my case.
I haven't deployed anything, but probably will use Stalwart. It looks like it's easy to deploy. Is there any other beginner-friendly email service I should read about?
You should definitely set up a DMARC record to prevent other people from using your email domain to send spam. If you don't have DMARC configured, other email servers will give any senders the benefit of the doubt and accept mail that claims to be from your domain.
You can just set the DMARC record to reject 100% of unverified mail and call it a day. Since you aren't sending anything it won't affect you.
Some servers blacklist you even if you have DMARC, SPF, DKIM, DNS setup perfectly, but your IP is in a block of addresses that may or may not have been hosted by the same ISP of some unrelated server that was possibly compromised 10 years before you even set up the mail server. Ask me how I know.
If your domain will NEVER send e-mail out, you only really need and SPF record to tell other servers to drop e-mail FROM your domain. Even that’s somewhat optional. If you ever plan on sending ANY outbound (you should at very least for the occasional ticket) then do DKIM, DMARC and SPF. The more of these you do, the less likely e-mails FROM your domain are to be flagged as spam.