Postfix 是網際網路上部署最廣泛的郵件傳輸代理(MTA)。它負責郵件的發送和轉發,是絕大多數自建郵件伺服器的核心元件。本文將帶你在 Ubuntu 22.04 上完成 Postfix 的安裝與設定。
前提條件
- 一台執行 Ubuntu 22.04 的 VPS 或獨立伺服器
- 公網 IP 位址(未被列入黑名單)
- 一個網域名稱,並擁有 DNS 管理權限
- root 或 sudo 權限
第一步:安裝 Postfix
更新套件清單並安裝 Postfix:
sudo apt update
sudo apt install postfix -y
安裝過程中會彈出設定對話框,選擇 Internet Site,然後輸入你的完整網域名稱(FQDN),例如 mail.example.com。
驗證安裝:
postconf mail_version
第二步:設定核心參數
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
# 信任的網路(本機 + 自己的 IP)
mynetworks = 127.0.0.0/8
# 本地郵件投遞位置
home_mailbox = Maildir/
# 轉發限制
smtpd_relay_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination
編輯完成後重新載入 Postfix:
sudo systemctl reload postfix
第三步:設定 DNS 記錄
MX 記錄 — 告知其他伺服器向哪裡投遞郵件:
example.com. IN MX 10 mail.example.com.
A 記錄 — 解析郵件伺服器主機名稱:
mail.example.com. IN A 你的伺服器IP
PTR 記錄(反向 DNS) — 透過 VPS 服務商的控制台設定,將你的 IP 的 PTR 指向 mail.example.com。
第四步:啟用 TLS 加密
使用 Let’s Encrypt 申請免費憑證:
sudo apt install certbot -y
sudo certbot certonly --standalone -d mail.example.com
在 /etc/postfix/main.cf 中新增 TLS 設定:
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.example.com/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mail.example.com/privkey.pem
smtpd_tls_security_level = may
smtp_tls_security_level = may
重新載入:
sudo systemctl reload postfix
第五步:發送測試郵件
sudo apt install mailutils -y
echo "測試郵件內文" | mail -s "測試主旨" you@gmail.com
sudo tail -f /var/log/mail.log
看到 status=sent 表示發送成功。
常見問題
25 埠連線被拒 — 許多 VPS 服務商預設封鎖出站 25 埠,需聯繫客服申請開放,或改用 587 埠進行認證發送。
郵件進垃圾信箱 — 通常需要設定 SPF、DKIM 和 DMARC 記錄。參見郵件認證指南。
下一步
Postfix 只負責 SMTP。要讓使用者透過 IMAP 或 POP3 收取郵件,還需要搭配 Dovecot。參見設定 Dovecot。