熱門分類
載入中…
目錄0%

📧 Mailserver 架設教學基礎篇

    📧 Mailserver 架設教學基礎篇

    想在 Linux 上自行架設郵件伺服器?本篇將以 Rocky / CentOS 系列 為例, 教你從零開始安裝與設定 Postfix(寄信伺服器)Dovecot(收信伺服器), 建立完整的 SMTP / IMAP 郵件環境,並說明每個元件的功能與關聯。

    📘 一、Mailserver 架構圖(Postfix × Dovecot)

    
      ┌────────────────────────────┐
      │          User (Client)     │
      │   ──────────────────────   │
      │   ▸ Thunderbird / Outlook  │
      │   ▸ Webmail / Telnet Test  │
      └────────────┬───────────────┘
                   │  SMTP (25/587) 傳送郵件
                   ▼
            ┌─────────────┐
            │  Postfix    │ ←── Fail2Ban、Firewalld 防護
            │  (MTA)      │
            └─────┬───────┘
                  │  本機投遞 (Local Delivery)
                  ▼
            ┌─────────────┐
            │  Dovecot    │ ←── IMAP (143/993)、POP3 (110/995)
            │  (MDA/IMAP) │
            └─────────────┘
      

    🧱 二、安裝必要套件

    # 更新套件庫
    sudo dnf update -y
    
    # 安裝 Postfix 與 Dovecot
    sudo dnf install postfix dovecot mailx -y
    
    # 開機自動啟用服務
    sudo systemctl enable --now postfix
    sudo systemctl enable --now dovecot
    
    # 檢查運行狀態
    sudo systemctl status postfix
    sudo systemctl status dovecot
      

    安裝後系統會建立預設設定檔:

    • /etc/postfix/main.cf:主要郵件服務設定
    • /etc/dovecot/dovecot.conf:郵件收取協定設定

    ⚙️ 三、Postfix 基本設定

    # 編輯主要設定檔
    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, localhost, $mydomain
    relayhost =
    home_mailbox = Maildir/
    mynetworks = 127.0.0.0/8
    smtpd_banner = $myhostname ESMTP
      

    設定完成後重新啟動服務:

    sudo systemctl restart postfix

    📨 四、Dovecot 收信服務設定

    Dovecot 負責提供 IMAP/POP3 收信功能,並存放用戶郵件至 Maildir 格式。

    # 啟用 Maildir 與認證機制
    sudo nano /etc/dovecot/conf.d/10-mail.conf
    mail_location = maildir:~/Maildir
    
    sudo nano /etc/dovecot/conf.d/10-auth.conf
    disable_plaintext_auth = no
    auth_mechanisms = plain login
    
    sudo nano /etc/dovecot/conf.d/10-master.conf
    # 啟用 IMAP 與 POP3
    service imap-login {
      inet_listener imap {
        port = 143
      }
      inet_listener imaps {
        port = 993
        ssl = yes
      }
    }
    service pop3-login {
      inet_listener pop3 {
        port = 110
      }
      inet_listener pop3s {
        port = 995
        ssl = yes
      }
    }
      

    重新啟動服務:

    sudo systemctl restart dovecot

    🧩 五、建立測試使用者與郵件目錄

    # 新增測試帳號
    sudo useradd mailuser -m
    sudo passwd mailuser
    
    # 建立 Maildir 目錄
    sudo mkdir /home/mailuser/Maildir
    sudo chown -R mailuser:mailuser /home/mailuser/Maildir
      

    測試寄信:

    echo "Mailserver 測試信件內容" | mail -s "測試信" mailuser@localhost

    查看信件是否成功投遞:

    sudo tail -n 20 /var/log/maillog

    🔍 六、防火牆開放與服務驗證

    # 開啟郵件服務常用 port
    sudo firewall-cmd --permanent --add-service=smtp
    sudo firewall-cmd --permanent --add-service=imap
    sudo firewall-cmd --permanent --add-service=pop3
    sudo firewall-cmd --reload
    
    # 驗證連線(可使用 Telnet 或 openssl)
    telnet localhost 25
    openssl s_client -connect localhost:993
      
    💡 小提示: 若信件未成功寄送,請檢查 /var/log/maillog/etc/postfix/master.cf 是否啟用了 smtpd 模組。

    📈 七、後續延伸建議

    • 啟用 STARTTLS / SSL 憑證(可搭配 Let's Encrypt)
    • 加入 SPF / DKIM / DMARC 驗證機制強化信任度
    • 整合 Fail2Ban 偵測暴力登入與郵件炸彈攻擊
    • 安裝 Roundcube Webmail 提供使用者介面

    📘 結語

    恭喜你完成了 Linux Mailserver 架設的基礎環境! 從寄信的 Postfix 到收信的 Dovecot, 你已建立可在本地網路正常運作的 SMTP / IMAP 伺服器。 下一步將在「進階篇」介紹 TLS、SPF、DKIM、Fail2Ban 整合的安全強化策略。


    🔗 延伸閱讀

    — WWFandy・Mailserver 系列基礎篇

    🔗 分享這篇 LINE Facebook X

    沒有留言:

    字級