本篇文章更新時間:2024/04/12
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知。
一介資男的 LINE 社群開站囉!歡迎入群聊聊~
如果本站內容對你有幫助,歡迎使用 BFX Pay 加密貨幣 或 新台幣 贊助支持。
之前就有追蹤這款 Stalwart Mail Server 郵件伺服器建置的開源專案。
直到前幾天看到他們有更新了介面化(Web Admin)的設定工具,就趕快來試試。
新聞: Goodbye SSH: Discover Stalwart's Web-Based Admin Interface
結果如下,預設安裝好,照指示操作建置後,發一封信去測試品質,得到了 7.9/10 的分數。
被扣的 2.1 分其實也不是大問題,就是告訴我「測試的內容不夠真」有被判定可能是垃圾信的可能。也就是其實如果把測試內容打得「認真」一點,就滿分拉~
說實在,這真的很令人驚艷!
因為從頭到尾我大概花不到十分鐘,從開一個測試主機、安裝 Docker,最後是啟用 Stalwart 的容器,剩下就是連上 Web Admin 介面設定一下,搞定。
本篇就來把我的操作筆記一下,順便當留個解決方案記錄,之後可以參考。
內容目錄
前置準備
- Linux VPS 主機
- SSH 與 簡單指令操作 能力
- 準備一個網域名稱,有設定紀錄的能力
雖然新聞表示要告別 SSH 指令模式作業,但一開始的安裝步驟還是少不了打幾行指令。
需求真的不多,但那台 VPS 主機要確認是否能開啟 25 Port 等收發信阜。
雖然這套是使用 Rust 開發,兼顧跨平台的能力,但我個人偏好開源的 Linux。
安裝 Docker
先更新系統一輪後,使用下方指令安裝 Docker 服務:
curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh
下載、安裝與啟用 Stalwart 郵件伺服器服務
下載 Stalwart 的映像檔案
docker pull stalwartlabs/mail-server:latest
建立一個安裝資料儲存的目錄
mkdir /var/lib/stalwart-mail
啟動服務!
docker run -d -ti -p 443:443 -p 8080:8080 \
-p 25:25 -p 587:587 -p 465:465 \
-p 143:143 -p 993:993 -p 4190:4190 \
-v <STALWART_DIR>:/opt/stalwart-mail \
--name stalwart-mail stalwartlabs/mail-server:latest
<stalwart_dir>
這變數就是帶入上一個步驟的資料儲存目錄,是可以任意位置的。
啟動後查看容器的登入帳密資訊
docker logs stalwart-mail
會看到一組 Your administrator account is 'admin' with password 'w95Yuiu36E'.
像這樣的訊息。
安裝方法文件寫得很清楚,建議對照最新文件:Installation > Docker
設定 Stalwart 郵件伺服器
上面步驟取得管理員帳密後,打開瀏覽器,輸入 http://VPS_IP_ADDRESS:8080/
登入帳號密碼,就可以開始設定。
初始網域設定
這套有整合 ACME 服務來自動取得與更新 SSL 憑證(Let's Encrypt)。所以設定之前先記得把要掛上 Email 信箱服務的網域設定 A 紀錄指向到這台主機。
mail.mxp.tw A 123.123.123.123
Stalwart 設定
Hostname
這台郵件主機的名稱,這邊預設就是跟你網域名稱準備當發信伺服器那組一樣。mail.mxp.tw
- 設定
ACME providers
,新增一個紀錄來為mail.mxp.tw
取得 SSL 憑證。 - 新增
Domain
,把mxp.tw
新增進去後,他會提供好幾組 DNS 紀錄要再新增到網域紀錄上。 - 建立
Accounts
使用者帳號,把要使用的網域以及這個使用者名稱與密碼等建立後就完成了! - 到這步後可以把 Docker 容器重啟一次強迫重整(後台我是有看到這功能,但文件是這樣寫,可能有更新)
docker restart stalwart-mail
SMTP 服務設定
到這階段就表示前面已經把服務開啟成功,帳號也建立了。要來測試服務是否正確運作!
以 WordPress 的串接為例,使用 POST SMTP 外掛,設定資訊如下:
IMAP 服務設定
這套目前還沒有自己的 Web Mail Client 服務整合(像是 Roundcube),如果搭配其他工具像是 Thunderbird 的話,建立帳號的時候輸入信箱 [email protected]
他就會自己偵測並填入設定,很方便!
後記
上述也算是簡單紀錄過程,我相信他還會繼續改版變得更完整。而這套從目前的設定項目就可以感受到誠意超滿與強大。
- 多網域支援,帳號還可以限制使用空間大小
- 收發信提供的驗證服務完整(還有垃圾信件判斷)
- SSL 憑證無痛串接
- 介面簡單操作
- 使用 Rust 開發,執行速度超快且輕量
- 官網也直說這就是可以商用的等級了!
對比先前筆記把玩等級的 AWS S3 郵件伺服器那篇 [AWS] 使用 SES 與 S3 服務,建置無限容量、無限帳號的 Email 郵件伺服器,這篇簡單太多了吧?XD