Recently, I needed to redo my email server. The mail reasons for this were that I was finding it hard to control spam, and I could not send email. As I was looking around for a guide, or for examples I found the Citadel software. Citadel is a one stop solution, so rather than installing multiple pieces of software for different aspects of a mail server I install, and secure one. Citadel has a long heritage coming out of the BBs scene of the 1980s and 1990s.
I started with the instructions located at the citadel website. First I used yum to update the system, and install the dependancies.
Then I ran the install script:
The install scripts asked me questions regarding the settings for the server, which I answered.
After I installed Citadel, I logged into the web panel and began customizing it.
Once I was comfortable with the Web Interface, and saw that I could send and receive email I installed Let’s Encrypt, and generated an SSL Certificate for my domains. I decided to be a little creative. Citadel has a specific place that it looks for its SSL in, so I linked the place where I generated my SSLs at to that location, and then I linked the certificate file, and key file to the names Citadel uses. This way I can renew the certificate without having to copy files around again.
The next step I took was to install SpamAssassin.
I went to the Citadel website admin and told it to use the 127.0.0.1 host as the Spamassassin host.
I set up Spamassassin to add headers for spam.
Currently, I have filters which move emails with a SpamAssassin score of 2 to 5.9 to a spam folder, and then I delete emails with a spam score of 6 or greater.
The web interface is stable, I can sync most information from my server to my phone and other devices. Citadel can handle multiple domains, which I needed, and secure connetions to the server via imap and pop. It has a great legacy, and solid base. I definately reccommend people try this out.