自建 catch-all 收信邮箱服务

48 阅读1分钟

准备

清理 & 准备

如果你之前装过邮箱服务器无论成功还是失败都必须先清理老数据

这里仅供参考,如果安装 iRedMail 或者 Mailinabox 之类的,自行特别处理一下~

sudo systemctl stop postfix dovecot
sudo apt purge postfix dovecot-core dovecot-imapd dovecot-pop3d
sudo rm -rf /etc/postfix /etc/dovecot /var/mail /var/vmail

安装服务

sudo apt update
sudo apt install postfix dovecot-core dovecot-imapd dovecot-pop3d dovecot-lmtpd postfix-pcre certbot

配置 postfix

新建 user

sudo useradd -r -u 150 -g mail -d /var/vmail -s /sbin/nologin vmail
sudo mkdir -p /var/vmail/parallized.cn
sudo chown -R vmail:mail /var/vmail
sudo chmod -R 770 /var/vmail

准备邮箱密码

sudo mkdir /etc/postfix/vmail
sudo nano /etc/postfix/vmail/passwd

# 内容是 me@你的域名:{PLAIN}你的密码明文

sudo postmap /etc/postfix/vmail/passwd

配置 main.cf

# /etc/postfix/main.cf
myhostname = mail.parallized.cn
mydomain = parallized.cn
myorigin = $mydomain
inet_interfaces = all
inet_protocols = ipv4
mydestination =
virtual_mailbox_domains = parallized.cn
virtual_mailbox_base = /var/vmail
virtual_mailbox_maps = hash:/etc/postfix/vmail/passwd
virtual_minimum_uid = 150
virtual_uid_maps = static:150
virtual_gid_maps = static:8
virtual_transport = dovecot
virtual_alias_maps = hash:/etc/postfix/virtual
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_tls_cert_file=/etc/letsencrypt/live/mail.parallized.cn/fullchain.pem
smtpd_tls_key_file=/etc/letsencrypt/live/mail.parallized.cn/privkey.pem
smtpd_use_tls=yes
smtpd_tls_security_level=may
smtp_tls_security_level=may

配置 catch-all

编辑 /etc/postfix/virtual

@parallized.cn user@parallized.cn

执行

sudo postmap /etc/postfix/virtual