Hello,
I want to deploy a simple mail server so that it can be used for users to register themselves or reset passwords, etc.
Is there an easy one to deploy (in docker if possible) ?
You are asking for a world of pain here.
I wrote a blog some time ago why selfhosting email sucks
https://nx2.site/email-selfhosting
If you just want the email server for only you and your friends, or for internal messages, selfhosting email can be fun, but your main email should probably not be selfhosted.
If you do self host I suggest reading carefully the Gmail guidelines for mails. They are the leaders in the field and they dictate the level of security required.
DNS forward and reverse, DKIM, SPF, DMARC, ARC, DANE, bounce signature etc. Email is indeed a very complicated thing to host. I work on emails system all day and and I wouldn’t host my own mail.
Even worse I’m hoping email disappear and another technology takes it place. Emails are unreliable and outdated, they need to go.
Please, just don’t. It’s pain in ass
As already mentioned several times, selfhosting a mail server is not recommended unless you’re particularly interested in hosting a mail server, but with that said, you might find this project interesting:
don’t.
There is Mailcow. But simple is relative I guess cause you still gotta configure a lot around it to not end up on every spamlist out there
Dmarc/dkim/SPF/certs. Fun times!
I got a mall server running, yet it’s almost more as an inbox.
I once came to the conclusion that there is no easy mail server
Things have been going well for me, using
docker-mailserver
.I followed the setup guide, did everything in the DKIM, DMARC and SPF documentation page. The initial setup required more involvement from me than your standard docker-compose self-hosting deployment, but I got no issues at all (for now, fingers crossed) after the initial setup : I never missed any inbound e-mails, and my outbound e-mails have not been rejected by any spam filter yet.
However, I agree with everyone else that you should not self-host an important contact address without proper redundancy/recovery mechanism in case anything goes wrong.
You should also understand that self-hosting an email address means you should never let your domain expire to prevent someone from receiving emails sent to you by registering your expired domain. This means you should probably not use a self-hosted e-mail to register any account on services that may outlive your self-hosted setup because e-mail is frequently used to send password reset links.
You don’t need a mail server to send emails
Use an smtp smart host like smtp2go
+1 to this worked for me, only issue was they block common free emails (like gmails etc) from making accounts but porkbun made it super easy to make a email forward that worked!
If you need to throw in the towel on email self-hosting, don’t be ashamed. Mail servers are one of the more difficult projects to run. If you do end up outsourcing this, I recommend SendGrid, it’s reliable and free.
I agree with everyone here that self-hosting email is never easy, but if you still decide to go down this route then here are two tips that I personally found very helpful, especially when you decide to host it at home:
The first is to get an SMTP relay server. That’s just another mail server that yours can log into to actually send its mail, just like an email client would. That way you don’t have to worry about your IP’s sending reputation, because everyone will only see the relay’s reputable IP.
Second is to configure a Backup MX. That’s an additional MX DNS entry with lower priority than the primary, and it points to a special mail server that accepts any mail for you and tries to deliver it to the primary server forever (or something like an entire week). So when your primary server is unreachable other sending servers will deliver mail to the backup, and it delivers the mail to the primary as soon as that’s back online.
You can get these as separate services, but some DNS providers (like Strato for example) offer both with the base domain package. It makes self-hosting an email server much simpler and more reliable in my experience.
Check out https://stalw.art/
Interesting how you use “simple” and “mail server” in the same sentence.