在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上成功設置一個支持虛擬用戶的郵件服務器。