在 Ubuntu 上搭建邮件服务器通常涉及 Postfix(MTA)+ Dovecot(IMAP/POP3)+ 数据库/本地用户 + SPF/DKIM/DMARC。下面给你一个从零开始、可运行的实战方案(以 Ubuntu 22.04 为例)。
example.com)sudo hostnamectl set-hostname mail.example.com
编辑 /etc/hosts:
127.0.0.1 mail.example.com mail
sudo apt update
sudo apt install postfix dovecot-core dovecot-imapd dovecot-pop3d \
mailutils ssl-cert -y
安装 Postfix 时:
example.com编辑 /etc/postfix/main.cf:
myhostname = mail.example.com
mydomain = example.com
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
# SMTP 认证
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions =
permit_sasl_authenticated,
permit_mynetworks,
reject_unauth_destination
# TLS
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls = yes
sudo systemctl restart postfix
sudo sed -i 's/#listen = \*, ::/listen = \*, ::/' /etc/dovecot/dovecot.conf
编辑 /etc/dovecot/conf.d/10-mail.conf:
mail_location = maildir:~/Maildir
编辑 /etc/dovecot/conf.d/10-auth.conf:
disable_plaintext_auth = no
auth_mechanisms = plain login
编辑 /etc/dovecot/conf.d/10-master.conf:
service auth {
unix_listener /var/spool/postfix/private/auth {
mode = 0660
user = postfix
group = postfix
}
}
sudo systemctl restart dovecot
sudo useradd -m -s /bin/bash user1
sudo passwd user1
测试发信:
echo "test" | mail -s "hello" user1@example.com
example.com. MX 10 mail.example.com.
mail.example.com. A 你的公网IP
example.com. TXT "v=spf1 mx ~all"
sudo apt install opendkim opendkim-tools
生成密钥并配置(略,可继续问我)
sudo ufw allow 25,465,587,143,993,110,995/tcp
| 项目 | 值 |
|---|---|
| IMAP | mail.example.com:993 |
| SMTP | mail.example.com:587 |
| 用户 | user1@example.com |
| 密码 | 用户密码 |
如果你愿意,我可以: ✅ 给你 一键脚本 ✅ 教你 虚拟邮件域 ✅ 配置 SSL 证书(Let’s Encrypt) ✅ 搭 Web 邮箱
你打算用于 个人 / 企业 / 测试?