使用 DigitalOcean 架設 Ghost blog 該如何設定發信功能?
這篇文章跟大家分享我在自架 Ghost blog 系統到 DigitalOcean 伺服器上時遇到的信件設定問題與解法。
奇怪,官方的信件設定文件明明不複雜,沒道理照著做會不成功,在網路上查了老半天看到其實滿多人有類似的情況。
就在剛剛,在跟 Perplexity 對話下找到了新的破口,1. 可能是伺服器的 Port 被關閉。2. Ghost blog 中的 mail 設定有一個叫做 secure 的參數,這個 secure 參數可以是 true / false,但是它 true / false 並不是表示 "開/關" 而是切換 SSL 或 TLS 的加密方式。
在了解這兩點後,再次修改 Glost blog 的 mail 設定,然後系統就可以正確寄出訂閱信啦!

接著來說說為什麼我這樣調整設定檔 ~
- DigitalOcean block SMTP port 25, 465, 587 to prevent spam and other abuses of their platform. 所以說基本 25, 465, 587 port 已經無法在 DigitalOcean 中的伺服器(Droplet)使用。
- Mailgun SMTP 可用的 port 包含 25, 587, 2525, 465 而其中 25, 465, 587 已經被 DigitalOcean block,所以只能使用 2525,而 2525 因為是 TLS 加密方式,所以 ghost 的 mail 設定中要把 secure 設為 false。
Ghost blog 中的 config.production.js 的 secure 參數可以是 true / false,但是它 true / false 並不是表示 "開/關" 而是設定要 SSL 還是 TLS 加密方式。
架網站就是常常會遇到這種明明照著文件走卻還是會失敗的情況,這時候往往要花費許多精力才能找到問題跟解法,雖然很煩,但是在問題解決之後都會有滿滿的成就感,或許這就是為什麼我喜歡自己動手做的原因吧!