Mar 5, 2020

輕量簡單 Mail Server - Mailu 安裝教學

輕量簡單 Mail Server - Mailu 安裝教學

官方簡介

Mailu 是一個簡單而功能齊全的郵件服務器,它是一組 Docker
Image。它是開源軟體,可以接受建議和外部貢獻。該項目旨在為人們提供易於安裝,易於維護且功能齊全的郵件服務器,不發行專有軟體或流行的軟體中經常出現的不相關功能。

主要架構

  • 標準電子郵件服務器:IMAP 和 IMAP+、SMTP 跟 Submission。
  • 進階電子郵件功能:別名、域別名、自定義路由。
  • Web訪問:多個 Webmail 和管理界面。
  • 用戶功能:別名、自動回复、自動轉發、獲取的帳戶。
  • 管理員功能:全局管理員、公告、每個域的委派、配額。
  • 安全性:強制 TLS,Let's encrypt!、輸出 DKIM、防病毒掃描程序。
  • 反垃圾郵件:自動學習、灰名單、DMARC 和 SPF。
  • 自由:全部都是開源軟體、不會追蹤資料。

伺服器

重要: Linode(現為 Akamai Cloud Computing Services)與大多數雲端服務商預設封鎖對外 port 25。安裝前請先向服務商申請解封,否則郵件無法寄出。

這次的伺服器我選擇了 Linode 的虛擬伺服器

官方網站:https://www.linode.com/

到 Linodes 目錄,選擇 Add a Linode,設定如下:

wp-image-532

之後記得到下方設定 root 密碼,如果有 SSH Key 可以在這裡上傳(不知道的話不用)。

確定金額 5USD / 一個月 按下 Create ,開始創建虛擬機。

安裝 Docker && Docker Compose

更新(2026): Docker Compose V1 已於 2023 年停止支援。現在的安裝方式是使用 Docker 官方 repository 的 docker-compose-plugin 套件,指令為 docker compose(中間沒有 -)。目前 Mailu 版本為 3.x,設定介面與本文的畫面可能略有不同。

在自己的電腦,打開終端機輸入:

ssh root@server-ip

安裝 Docker

官方安裝腳本:

curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh

安裝 Docker Compose

安裝 Docker Compose plugin

sudo apt-get update
sudo apt-get install docker-compose-plugin

測試安裝

docker compose version

如果有出現版本資訊就是成功了

生成 Mailu 安裝檔案

網域名稱:domain.com

主機名稱:mail.domain.com

以上兩個請替換成自己的網域和主機名稱

官方設定檔生成網站:https://setup.mailu.io/

選擇 Compose 點選 Next

wp-image-538
wp-image-535
wp-image-537

替換 server-ip 為你的 Linode IP(虛擬機IP)

wp-image-536
wp-image-534

最後點選 Setup Mailu 就會秀出這樣的頁面:

wp-image-539

跟照他的指示

創建資料夾:

mkdir /mailu
cd /mailu
wget 網頁顯示的網址

啟動伺服器:

docker compose -p mailu up -d
# 替換 PASSWORD => 管理員密碼(新版的 Mailu 安裝精靈會直接建立管理員帳號)
docker compose -p mailu exec admin flask mailu admin admin domain.com PASSWORD

設定 DNS

設定一筆 A 紀錄指向 Linode 虛擬伺服器 IP

mail.domain.com.  IN  A  a.b.c.d

除了 A 紀錄之外,郵件伺服器還需要以下 DNS 紀錄(詳細值可在管理界面確認):

  • MX:指向 mail.domain.com
  • SPF(TXT):v=spf1 mx ~all
  • DKIM(TXT):管理界面產生的金鑰
  • DMARC(TXT):v=DMARC1; p=none

過一陣子後,開啟瀏覽器進去 https://mail.domain.com/admin 並登入,成功的話就代表伺服器成功啟動了。

進去 Mail Domains 點選第一個 Icon

wp-image-540

裡面就會列出剩餘要設定的 DNS 紀錄了。

全部設定完以後就可以登入測試看看寄信了喔。

剩餘的功能就讓大家自己去摸索了,這個界面應該是沒有太困難,有問題在下面留言,我有空都會回覆。

Tags: