温馨提示×

如何用ubuntu建邮件服务

小樊
39
2026-09-20 06:50:09
栏目: 智能运维

在 Ubuntu 上搭建邮件服务器通常涉及 Postfix(MTA)+ Dovecot(IMAP/POP3)+ 数据库/本地用户 + SPF/DKIM/DMARC。下面给你一个从零开始、可运行的实战方案(以 Ubuntu 22.04 为例)。


一、准备工作

1. 服务器要求

  • Ubuntu 22.04
  • 有公网 IP
  • 域名(如 example.com
  • 能修改 DNS(A、MX、TXT)

2. 配置主机名

sudo hostnamectl set-hostname mail.example.com

编辑 /etc/hosts

127.0.0.1 mail.example.com mail

二、安装 Postfix + Dovecot

sudo apt update
sudo apt install postfix dovecot-core dovecot-imapd dovecot-pop3d \
     mailutils ssl-cert -y

安装 Postfix 时:

  • 选择 Internet Site
  • 系统邮件名:example.com

三、配置 Postfix(发信 + 收信)

1. 主配置文件

编辑 /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

2. 重启 Postfix

sudo systemctl restart postfix

四、配置 Dovecot(收信)

1. 启用 IMAP / POP3

sudo sed -i 's/#listen = \*, ::/listen = \*, ::/' /etc/dovecot/dovecot.conf

2. 配置邮件存储

编辑 /etc/dovecot/conf.d/10-mail.conf

mail_location = maildir:~/Maildir

3. 配置 SASL 认证

编辑 /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
  }
}

4. 重启 Dovecot

sudo systemctl restart dovecot

五、创建邮件用户

sudo useradd -m -s /bin/bash user1
sudo passwd user1

测试发信:

echo "test" | mail -s "hello" user1@example.com

六、DNS 配置(非常重要)

1. MX 记录

example.com.   MX   10  mail.example.com.

2. A 记录

mail.example.com.  A  你的公网IP

3. SPF

example.com.  TXT  "v=spf1 mx ~all"

4. DKIM(可选但强烈推荐)

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
密码 用户密码

九、常见问题

  • 邮件进垃圾箱:缺 SPF / DKIM / 反向 DNS
  • 25 端口被封:云厂商常见,需申请解封
  • 无法认证:检查 Dovecot socket 权限

十、进阶(可选)

  • 虚拟用户(MySQL / PostgreSQL)
  • Webmail(Roundcube)
  • 反垃圾(SpamAssassin + Postgrey)
  • 监控(fail2ban)

如果你愿意,我可以: ✅ 给你 一键脚本 ✅ 教你 虚拟邮件域 ✅ 配置 SSL 证书(Let’s Encrypt) ✅ 搭 Web 邮箱

你打算用于 个人 / 企业 / 测试

0