2、配置Dovecot(MDA,负责存储与认证)
编辑 `/etc/dovecot/dovecot.conf`:
ini
protocols = imap pop3 lmtp
编辑 `/etc/dovecot/conf.d/10-auth.conf`:
ini
disable_plaintext_auth = no 生产环境建议开启SSL后改为yes
auth_mechanisms = plain login
编辑 `/etc/dovecot/conf.d/10-mail.conf`:
ini
mail_location = maildir:/var/mail/%d/%n
3、配置MySQL数据库
创建数据库和用户:
sql
CREATE DATABASE mailserver;
CREATE USER 'mailuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON mailserver.* TO 'mailuser'@'localhost';
FLUSH PRIVILEGES;
创建表结构(参考官方示例或自行设计):
sql
USE mailserver;
CREATE TABLE virtual_domains (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
created DATETIME DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE virtual_users (
id INT AUTO_INCREMENT PRIMARY KEY,
domain_id INT NOT NULL,
password VARCHAR(106) NOT NULL,
email VARCHAR(100) NOT NULL,
created DATETIME DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (domain_id) REFERENCES virtual_domains(id) ON DELETE CASCADE
);
CREATE TABLE virtual_aliases (
id INT AUTO_INCREMENT PRIMARY KEY,
domain_id INT NOT NULL,
source VARCHAR(100) NOT NULL,
destination VARCHAR(100) NOT NULL,
created DATETIME DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (domain_id) REFERENCES virtual_domains(id) ON DELETE CASCADE
);
apache
Alias /webmail /usr/share/webmail/roundcubemail/
<Directory /usr/share/webmail/roundcubemail/
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory