linux下搭建邮件服务器
- 云服务器
- 2025-08-09
- 6
Linux下搭建邮件服务器
准备工作
选择Linux发行版
常见的如Ubuntu Server、CentOS等,这里以Ubuntu Server为例,确保系统已安装且能联网更新。
更新系统软件包
sudo apt update sudo apt upgrade -y
安装邮件服务器相关软件
安装Postfix(邮件传输代理MTA)
sudo apt install postfix -y
在安装过程中会提示选择邮件服务器类型,选择“Internet Site”,并设置邮件系统接收邮件的域名,yourdomain.com。
安装Dovecot(邮件交付代理MDA)
sudo apt install dovecot-imapd -y
配置Postfix
编辑主配置文件/etc/postfix/main.cf
| 参数 | 说明 | 示例值 |
|---|---|---|
| myhostname | 邮件服务器的主机名 | mail.yourdomain.com |
| mydomain | 邮件服务器的域名 | yourdomain.com |
| myorigin | 邮件的默认发件人地址中的域名部分 | /etc/mailname(一般保持默认) |
| inet_interfaces | 监听的网络接口,all表示监听所有接口,也可指定具体IP | all |
| mydestination | 邮件服务器接收邮件的域,可设置为本地主机名、域名等 | $myhostname, localhost.$mydomain, localhost, $mydomain |
| relayhost | 如果需要通过其他邮件服务器中转(如Gmail等),可设置中继主机地址,否则留空 | (空) |
配置虚拟域名和用户(可选,用于支持多个域名和用户邮箱)
编辑/etc/postfix/virtual文件,添加如下内容(以支持yourdomain.com为例):
yourdomain.com /etc/postfix/vmailbox
然后创建对应的邮箱存储目录及设置权限:

接着编辑/etc/postfix/virtual-maps(如果不存在则创建),添加邮箱映射关系,
user1@yourdomain.com user1 user2@yourdomain.com user2
最后执行以下命令让配置生效:

重启Postfix服务使配置生效
sudo systemctl restart postfix
配置Dovecot
编辑主配置文件/etc/dovecot/dovecot.conf
| 参数 | 说明 | 示例值 |
|---|---|---|
| protocols | 启用的协议,一般保持默认包含imap、pop3、lmtp等 | imap pop3 lmtp |
| mail_location | 邮件存储的位置,与Postfix的配置对应,如使用虚拟邮箱则为maildir:/etc/postfix/vmailbox/%d/%n | maildir:/etc/postfix/vmailbox/%d/%n(假设按日期和用户名划分存储目录) |
配置认证(可选择多种认证方式,如密码认证)
编辑/etc/dovecot/conf.d/10-auth.conf或/etc/dovecot/dovecot.conf中相关认证部分,启用密码认证并设置用户密码文件路径等,
auth_mechanisms = plain login passdb { driver = pam }
同时确保/etc/pam.d/dovecot文件配置正确,一般默认即可。
重启Dovecot服务使配置生效
sudo systemctl restart dovecot
测试邮件服务器
使用本地邮件客户端(如Outlook、Thunderbird等)进行配置
在邮件客户端中新建邮件账户,设置如下:
| 项目 | 内容 |
| –| –|
| 接收邮件服务器(IMAP/POP3) | 填写Linux服务器的IP地址或域名,端口根据Dovecot配置(IMAP一般143,POP3一般110,若启用SSL则IMAP为993,POP3为995) |
| 发送邮件服务器(SMTP) | 同样填写Linux服务器的IP地址或域名,端口一般为25(若之前Postfix设置了中继则按相应中继配置),若启用SSL则端口为465 |
| 用户名 | 之前在虚拟邮箱映射中设置的用户名(如user1) |
| 密码 | 对应用户的密码 |

发送测试邮件
尝试从客户端发送邮件到同一域名下的其他用户或者外部邮箱,检查是否能正常接收。
相关问题与解答
问题1:邮件服务器搭建好后,发送邮件时提示“无法连接到SMTP服务器”,可能是什么原因?
解答:可能的原因有以下几点:
- 防火墙设置:Linux系统的防火墙可能阻止了25号端口(或其他设置的SMTP端口)的出站或入站连接,可以通过sudo ufw status查看防火墙状态,若需要开放端口,可使用sudo ufw allow 25(或其他对应端口)命令来开放。
- Postfix服务未启动或配置错误:检查Postfix服务是否正常运行,可通过sudo systemctl status postfix查看状态,若服务未启动,使用sudo systemctl start postfix启动;若怀疑配置错误,重新检查/etc/postfix/main.cf文件中的相关配置,特别是myhostname、inet_interfaces、mydestination等关键参数。
- 网络问题:确保Linux服务器能正常联网,并且DNS解析正常,可以通过ping命令测试与其他外部服务器的连通性,以及使用nslookup命令检查域名解析情况。
问题2:如何为邮件服务器添加新的用户邮箱?
解答:若要添加新用户邮箱,比如添加user3@yourdomain.com,可按以下步骤操作:
- 编辑虚拟邮箱映射文件:打开/etc/postfix/virtual-maps文件(如果之前没有这个文件,可在/etc/postfix目录下创建),添加一行: user3@yourdomain.com user3
这里user3是系统登录用户名,要保证系统中已存在该用户(可通过sudo adduser user3命令创建用户,按提示设置密码等)。
- 更新Postfix映射表:执行命令sudo postmap /etc/postfix/virtual-maps,让Postfix重新加载虚拟邮箱映射配置。
- 重启相关服务:重启Postfix和Dovecot服务使配置生效,命令分别为sudo systemctl restart postfix和sudo systemctl restart dovecot。