論自架郵件服務的務實性,與維護經驗回顧

前陣子先後讀到兩篇關於自架郵件服務的感想文章,看完後感觸蠻多的。當年 DR 在開始接觸 Linux 時,一個令人印象深刻之處,就是 Linux 可以用來架設許多服務。然而其中關於郵件服務這一塊,在瞭解其組成與各樣條件後,DR 很早就覺得這是個沒事不要自己架的東西。個人就用免費郵件服務,中小企業或機構需求則購買郵件代管,會省事很多。

 

Chris Siebenmann 是任職於多倫多大學的 Unix 系統工程師,在他所寫的文章《Running your own email is increasingly an artisanal choice, not a practical one》裡,Siebenmann 客觀地描述,儘管他至今依然在維運著自行架設的校園郵件服務,而這樣的作法雖然擁有高自訂性,以及獨立自主的優勢;但對比大型廠商所能夠輕而易舉達到的服務品質,已經不是一個很務實的選擇。

 

無獨有偶,新創公司 Optimus Price 的工程師暨 CEO Carlos Fenollosa,也寫了一篇文章《After self-hosting my email for twenty-three years I have thrown in the towel. The oligopoly has won》,內容描述他在自行維運了二十餘年的郵件服務後,最終選擇放棄。因為即便滿足了所有郵件發送應具備的健康條件,也依然會被那些郵件代管的巨頭不正當地拒絕,所以除了直接投靠巨頭也別無他法。

 

或許正是因為觀念使然,使得 DR 大多數的技術生涯,都很少接觸到郵件服務的維運。唯一密集的接觸經驗,則是在虛擬主機商做工程師的那段經歷,因為提供給用戶的虛擬主機即包含了郵件服務。儘管是運用現成已整合好的套件安裝起來,所以服務從無到有架設起來不太需要什麼心力。但依然會需要應對事故,並解決用戶在收發信件上的問題。

 

說到這裡,好像不得不提一下當年勇。因為在 DR 進入到這間公司之前,其實公司對於郵件發送的信譽處理非常被動。常常是等到郵件佇列異常爆滿,或者客戶反映被退信時,工程師才會去查看郵件日誌,是否我們的郵件伺服器又被列入到某個黑名單,以及是否有異常的發送來源。

 

看著這些問題反映,覺得如此被動實在沒有什麼道理。於是 DR 設法透過編寫腳本,重新實作了許多主動措施,希望能夠藉此改善郵件主機的信譽問題。不僅是能夠及早通知工程師相關事件,也包含了自動化的處置。舉例來說,有實作出能夠定期檢查可被公開查閱的黑名單,自動送出解封申請。以及從郵件日誌中搜查出異常的發信頻率,自動執行封阻。甚至會根據案例,偵測所有用戶的網站或工作排程,是否存在可被用於發送惡意信件的安全風險。

 

然而並不是所有的郵件信譽問題,都能夠靠複核及解除封鎖的途徑解決。在 DR 過往的工作經驗裡,也意識到不講道理的「郵件黑洞」確實存在,特別是 Google 及微軟這兩間具指標性的郵件代管商,都存在這樣的情形。就是即便滿足了所有條件,也沒有可見的信譽或阻擋問題。但發送給這些代管商的信件依然有可能會直接消失,甚至是時好時壞的情形,讓人摸不清標準在哪裡。

 

早期 DR 之所以不太贊成自行架設郵件服務,主要的考量,是倘若郵件服務要維持符合期待的高可用性、安全性,並且滿足各樣的功能需求,則所需的維護成本,跟直接購買外部服務相比不太划算。反之現今逐漸明顯的障礙,則是自架的郵件伺服器,容易被不適當的黑箱規則所拒絕。而在這樣的情況下,儘管不是很公正,但除非這個領域開始出現積極的改正,否則最直接有效的解決辦法,就是投靠那些有如寡頭般的郵件代管商(或者專門提供寄信服務的廠商),以取得更加可靠的郵件傳遞結果。

 

分類: