Một mail server có thể phục vụ cho nhiều domain, ngoài domain được thiết lập khi cài đặt. Việc cấu hình nhiều email domain cho mail server tương tự nhau với các mail server postfix – dovecot – amavis.
Chúng ta lấy làm thí dụ cho mailserver iRedMail.
- Thêm mail domain và user trong iRedMail admin panel.
- Tạo MX, A và SPF record cho mail domain mới.
- Thiết lập DKIM.
- Thiết lập DMARC Record.
- Cài đặt RoundCube Webmail, Postfix and Dovecot cho nhiều domain.
Riêng Reverse DNS thì không cần thiết lập cho email domain mới.
Thêm domain và user
Tạo MX, A và SPF record cho mail domain mới
Giả sử chúng ta không quản lý DNS của domain mới thêm vào, yêu cầu thêm DNS record phải chuyển cho chủ sở hữu domain.
Phòng trường hợp IP động, chúng ta dùng CNAME thay cho A record.
MX @ mail.server.name
TXT @ v=spf1 mx ~all
CNAME mail.newdomain.name mail.server.name
Cài đặt DKIM
Để đơn giản, có thể dùng chung DKIM key với mailserver.
Mở file /etc/amavis/conf.d/50-user. Tìm đến mục dkim_key, thêm một dòng cho newdomain.com như hình sau, ngoài ra dkim_signature thì không thay đổi vì đã catch-all cho tất cả domain rồi:
# Restart amavis
sudo systemctl restart amavis
# Xem public key
sudo amavisd-new showkeys
Trong DNS manager của domain mới, tạo TXT record có Name là dkim._domainkey và Value là phần trong ngoặc tròn ( ) như trên sau khi bỏ dấu xuống dòng và các dấu “
Thiết lập DMARC Record
Tạo thêm TXT record, có Name là _dmarc và Value là
v=DMARC1; p=none; pct=100; rua=mailto:dmarc-reports@newdomain.name
Cài đặt Postfix and Dovecot cho nhiều domain
Người dùng truy cập các dịch vụ web của mail server thông qua domain của mail server, khi đó không cần thay đổi gì trong nginx, roundcube. Nếu muốn dùng domain mới, tạo redirect về domain của mail server.
- Trường hợp có riêng TLS Certificates cho mỗi domain
# Thêm vào cuối file /etc/postfix/main.cf
cat <<EOF>>/etc/postfix/main.cf
tls_server_sni_maps = hash:/etc/postfix/sni_maps
EOF
# Tạo file /etc/postfix/sni_maps
cat <<EOF>/etc/postfix/sni_maps
# Thêm vào với mỗi domain mới
mail.newdomain.name
/etc/letsencrypt/live/mail.newdomain.name/privkey.pem
/etc/letsencrypt/live/mail.newdomain.name/fullchain.pem
EOF
# Mã hóa sni_maps
sudo postmap /etc/postfix/sni_maps
# Restart postfix
systemctl restart postfix
# Mở file /etc/dovecot/dovecot.conf, tìm đến dòng ssl_key =<
ssl_cert =</etc/letsencrypt/live/mail.server.name/fullchain.pem
ssl_key =</etc/letsencrypt/live/mail.server.name/privkey.pem
# Thêm vào với mỗi domain mới
local_name mail.newdomain.name {
ssl_cert =</etc/letsencrypt/live/mail.newdomain.name/fullchain.pem
ssl_key =</etc/letsencrypt/live/mail.newdomain.name/privkey.pem
}
# Restart dovecot
systemctl restart dovecot