BEST: Tested and Worked
Part1: set up a basic Postfix SMTP server
Part2: receive and send emails using a desktop email client
Part3 (MySQL): Create Virtual Mailboxes on Ubuntu Mail Server
Part3 (Postgres): Create Virtual Mailboxes on Ubuntu Mail Server
Part6: Prevent being marked as spam
Postscreen
Block and antispam
Multiple Domain
Multiple Mail Domains in PostfixAdmin
Postfix Admin
Roundcube
Postfix SendOnly
Set Up Postfix Send-Only SMTP Server on Ubuntu 22.04/20.04/18.04
queue mangement
# view the Postfix mail queue
sudo postqueue -p
# delete specefic message from queue
sudo postsuper -d msg_id
# delete all messages from the queue
sudo postsuper -d ALL
migrate to another let's encrypt certificate
add new one
sudo mkdir -p /var/spool/postfix/etc/letsencrypt/live/example.com
sudo cp /etc/letsencrypt/live/example.com/{fullchain.pem,privkey.pem} /var/spool/postfix/etc/letsencrypt/live/example.com/
# in main.cf
smtpd_tls_cert_file = /etc/letsencrypt/live/example.com/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/example.com/privkey.pem
flush postfix cache
sudo systemctl stop postfix
sudo rm -rf /var/spool/postfix/private/tlsmgr/*
dovecot
# edit the 10-ssl.conf
ssl_cert = </etc/letsencrypt/live/example.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/example.com/privkey.pem
# remove ssl caceh (?) (possibly is not needed)
sudo systemctl stop dovecot
sudo rm -rf /var/lib/dovecot/ssl-parameters.dat
restart postfix and dovecot
sudo systemctl start postfix dovecot