I need to set up a mail server + web interface and absolutely dread the thought of manually installing Postfix. Are there any (preferably open source) solutions like atmail.com that are self-hosted and take care of the mail server part as well?
Setting up a mail server once - and then never touch it again. Do you mean that? Please don't act like this! Administrating a mail server is more than setting it up, you should know the protocols, especially SMTP, you should know how how TLS works, how to prevent spammers and hackers from entering and abusing your system, how to detect attacks, how to detect possible problems, how anti-spam techniques work.
No software can do this for you. Know your system and care for it, like your garden.
There is some software that can make the entrance easier, but you can't bypass reading thousands of lines of documentation to really understand the software. I don't want to prevent you from setting up a mail server, no. The reverse is true. I'm of the opinion that we have a need way more self-hosted mail servers, a wider diversity in the infrastructure, which is very centralized currently.
I suggest to use software like postfixadmin, iRedMail, ISPconfig or Plesk (I don't want to recommend one) as starting point for you. For the webmailer I know two: Squirrelmail and Roundcube. Squirrelmail is smaller und modest while Roundcube is more powerful and equally easy to setup as squirrelmail. If you are looking for a groupware, take a look at Horde.
courier-imap worked for me on Debian 10 with these simple steps after
apt install gamin courier-mta courier-imap as root:
Courier authenticates using PAM out of the box.
Maildir setup for future users:
sudo maildirmake /etc/skel/Maildir sudo maildirmake /etc/skel/Maildir/.Drafts sudo maildirmake /etc/skel/Maildir/.Sent sudo maildirmake /etc/skel/Maildir/.Trash sudo maildirmake /etc/skel/Maildir/.Templates
Then, for an existing user:
sudo cp -r /etc/skel/Maildir /home/myuser/ sudo chown -R myuser:usergroup /home/myuser/Maildir sudo chmod -R 700 /home/myuser/Maildir
I only have to add allowed hosts for
courier-mta now, to send email. This guide should help.