在Ubuntu上设置邮件服务器的虚拟用户,通常需要使用Postfix和Dovecot这两个软件。以下是详细的步骤:
首先,更新你的包列表并安装Postfix和Dovecot:
sudo apt update
sudo apt install postfix dovecot-core dovecot-imapd dovecot-lmtpd
编辑Postfix的主配置文件 /etc/postfix/main.cf
:
sudo nano /etc/postfix/main.cf
添加或修改以下内容:
myhostname = mail.example.com
mydomain = example.com
myorigin = $mydomain
inet_interfaces = all
inet_protocols = ipv4
mydestination = $myhostname, localhost.$mydomain, $mydomain
mynetworks = 127.0.0.0/8 [::1]/128
home_mailbox = Maildir/
virtual_alias_domains = $virtual_mailbox_domains
virtual_alias_maps = hash:/etc/postfix/virtual
virtual_transport = lmtp:unix:private/dovecot-lmtp
保存并退出编辑器。
创建并编辑虚拟用户映射文件 /etc/postfix/virtual
:
sudo nano /etc/postfix/virtual
添加虚拟用户和真实用户的映射关系,例如:
user1@example.com user1
user2@example.com user2
保存并退出编辑器。
使用Postfix的postmap
命令生成哈希数据库文件:
sudo postmap /etc/postfix/virtual
重启Postfix服务以应用更改:
sudo systemctl restart postfix
编辑Dovecot的主配置文件 /etc/dovecot/dovecot.conf
:
sudo nano /etc/dovecot/dovecot.conf
确保以下内容存在:
mail_location = maildir:~/Maildir
protocols = imap lmtp
保存并退出编辑器。
编辑Dovecot的认证配置文件 /etc/dovecot/conf.d/10-auth.conf
:
sudo nano /etc/dovecot/conf.d/10-auth.conf
确保以下内容存在:
disable_plaintext_auth = no
auth_mechanisms = plain login
保存并退出编辑器。
编辑Dovecot的LMTP配置文件 /etc/dovecot/conf.d/10-master.conf
:
sudo nano /etc/dovecot/conf.d/10-master.conf
添加以下内容:
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
mode = 0600
user = postfix
group = postfix
}
}
保存并退出编辑器。
编辑Dovecot的用户认证配置文件 /etc/dovecot/conf.d/10-ldap.conf
(如果你使用LDAP认证)或 /etc/dovecot/conf.d/10-passwdfile.conf
(如果你使用本地文件认证):
sudo nano /etc/dovecot/conf.d/10-passwdfile.conf
确保以下内容存在:
passdb {
driver = passwd-file
args = scheme=SHA512-CRYPT username_format=%n /etc/dovecot/passwd
}
userdb {
driver = static
args = uid=vmail gid=vmail home=/home/vmail/%d/%n
}
创建用户认证文件 /etc/dovecot/passwd
:
sudo nano /etc/dovecot/passwd
添加虚拟用户和密码,例如:
user1:!!user1
user2:!!user2
保存并退出编辑器。
重启Dovecot服务以应用更改:
sudo systemctl restart dovecot
现在你可以使用邮件客户端(如Thunderbird)配置你的邮件账户,并测试发送和接收邮件。
通过以上步骤,你应该能够在Ubuntu上成功设置一个支持虚拟用户的邮件服务器。