温馨提示×

Ubuntu邮件服务器怎么添加用户

小樊
41
2026-08-27 02:10:58
栏目: 云计算

在 Ubuntu 上“添加邮件用户”的方式取决于你使用的 邮件服务器类型。最常见的是 Postfix + Dovecot 组合。下面按最常见场景给你一个完整、实用的说明。


一、最常见方案:Postfix + Dovecot(系统用户方式)

适合:

  • 小规模邮件服务器
  • 每个邮箱对应一个 Linux 系统用户

1️⃣ 添加系统用户(即邮箱用户)

sudo adduser mailuser1

设置密码(这个密码就是邮箱密码):

sudo passwd mailuser1

邮箱地址通常是:

mailuser1@yourdomain.com

默认邮箱目录:

/home/mailuser1/Maildir/

2️⃣ 确保 Postfix 使用 Maildir 格式

查看 Postfix 配置:

postconf home_mailbox

如果不是 Maildir/,修改:

sudo postconf -e "home_mailbox = Maildir/"

重启 Postfix:

sudo systemctl restart postfix

3️⃣ 确保 Dovecot 支持系统用户

检查 Dovecot 配置:

sudo nano /etc/dovecot/conf.d/10-auth.conf

确认包含:

disable_plaintext_auth = no
auth_mechanisms = plain login

并启用系统用户认证:

!include auth-system.conf.ext

重启 Dovecot:

sudo systemctl restart dovecot

✅ 此时用户 mailuser1 就可以用邮件客户端登录了。


二、进阶方案:虚拟用户(推荐生产环境)

适合:

  • 多邮箱
  • 不创建 Linux 系统用户
  • 使用数据库(MySQL / PostgreSQL)

核心思路

项目 说明
邮件用户 存在数据库里
邮箱存储 /var/mail/vhosts/domain/user/
认证 Dovecot 查询数据库

1️⃣ 创建虚拟邮箱目录

sudo mkdir -p /var/mail/vhosts/yourdomain.com
sudo chown -R mail:mail /var/mail/vhosts

2️⃣ 创建虚拟用户数据库(示例 MySQL)

CREATE DATABASE mailserver;
USE mailserver;

CREATE TABLE users (
  id INT AUTO_INCREMENT PRIMARY KEY,
  email VARCHAR(255) NOT NULL,
  password VARCHAR(255) NOT NULL,
  domain VARCHAR(255) NOT NULL
);

添加用户:

INSERT INTO users (email, password, domain)
VALUES ('user1@yourdomain.com', ENCRYPT('password123'), 'yourdomain.com');

3️⃣ 配置 Dovecot 使用虚拟用户

mail_location = maildir:/var/mail/vhosts/%d/%n
auth_username_format = %u

并配置 SQL 认证(略复杂,需要 dovecot-sql.conf.ext)。


三、快速判断你该用哪种方式

ls /var/mail
情况 建议
每个用户一个系统用户 ✅ 系统用户
几十个以上邮箱 ✅ 虚拟用户
用 Webmail(Roundcube) ✅ 虚拟用户

四、常见错误排查

❌ 登录失败

tail -f /var/log/mail.log

❌ 邮箱目录不存在

doveadm user user1@yourdomain.com

五、我可以继续帮你

你可以直接告诉我:

  1. ✅ 用的是 Postfix + Dovecot 吗?
  2. ✅ 是 系统用户 还是 虚拟用户
  3. ✅ 日志报错内容(贴几行)

我可以一步一步帮你配置到能收发邮件 ✅

0