Install | Topics | Beyond Lino
Full mail server¶
Dovecot¶
Install the Debian packages:
# apt install dovecot-pop3d # optional
# apt install dovecot-imapd # optional
Create a file /etc/dovecot/local.conf and add the following content:
listen = *, ::
auth_mechanisms = plain login
mail_driver = maildir
mail_path = ~/Maildir
mail_inbox_path = ~/Maildir/.INBOX
ssl_server_cert_file = /etc/letsencrypt/live/mail.mydomain.org/fullchain.pem
ssl_server_key_file = /etc/letsencrypt/live/mail.mydomain.org/privkey.pem
IMPORTANT: Mail location parameters should be in sync. Above means that the
postfix config parameter is home_mailbox = Maildir/.
Control the Dovecot service:
# systemctl restart dovecot
Using hints from:
Spamassassin¶
Here we describe how to install Spamassassin to a Debian mail server with postfix and dovecot. Necessary packages are:
$ sudo apt-get install spamassassin spamc
We set up user account and group for spamd service:
$ sudo groupadd spamd
$ sudo useradd -g spamd -s /bin/false -d /var/log/spamassassin spamd
$ sudo mkdir /var/log/spamassassin
$ sudo chown spamd:spamd /var/log/spamassassin
Edit /etc/default/spamassassin to add options:
# Change to one to enable spamd
ENABLED=1
SAHOME="/var/log/spamassassin/"
# Options
OPTIONS="--create-prefs --max-children 5 --helper-home-dir \
--username spamd -H ${SAHOME} -s ${SAHOME}spamd.log"
# Cronjob
CRON=1
Start spamassassin daemon and check corresponding processes:
$ sudo service spamassassin start
$ sudo systemctl status spamassassin
$ ps aux | grep spam
Further, we need to configure postfix master.cf to use spamassassin service:
spamassassin unix - n n - - pipe
user=spamd argv=/usr/bin/spamc -f -e
/usr/sbin/sendmail -oi -f ${sender} ${recipient}
To mark spam messages, we configure /etc/spamassassin/local.cf
# rewrite_header Subject *****SPAM*****
rewrite_header Subject [***** SPAM _SCORE_ *****]
# Set the threshold at which a message is considered spam (default: 5.0)
required_score 4.0
After restarting spamd check the logs with
tail -f /var/log/spamassassin/spamd.log
For dovecot we need sieve-plugin
$ sudo apt-get install dovecot-sieve dovecot-managesieved
and edit /etc/dovecot/conf.d/20-lmtp.conf
protocol lmtp {
mail_plugins = $mail_plugins sieve
}
After that restart dovecot.
To set up sieve filtering create default.sieve in /var/lib/dovecot/sieve/
require ["fileinto", "mailbox"];
if header :contains "X-Spam-Flag" "YES" {
fileinto :create "Spam";
}
and compile this in /var/lib/dovecot
$ sudo sievec sieve/
$ sudo chown -R dovecot:dovecot sieve/*
$ sudo chmod a+x .
$ sudo service dovecot restart