Google Compute Engine 寄送 Email 的問題

Google Compute Engine 不能用 25 port 的 SMTP

如果在上面要寄信怎麼辦?

因為我是在 GCE 上裝 cpanel

如果不是 cpanel 而是單一的用戶

是可以裝 mailgun 沒錯

但 cpanel 會開很多空間(網域)

如果每個網域都要去跟 mailgun 註冊

實在是太麻煩了

Google 了一下

Configure Exim on cPanel to use Mailgun

如果看的懂上面那個文章在寫什麼

照的做就沒問題了

如果看不懂

這邊稍微翻譯一下他要幹嘛

首先打開你的 cPanel (WHM)

照底下路徑找頁面

Home > Service Configuration > Exim Configuration Manager > Advanced Editor

在 Advanced Editor 裡面

找 Section: PREROUTERS

有個空白的框框

填以下文字

mailgun:
driver = manualroute
domains = ! +local_domains
transport = mailgun_transport
route_list = * smtp.mailgun.org::2525 byname

注意這邊的 2525 port

上面的文章並沒有 port number

因為這是 port 25 可以用的狀況下

但 GCE 就是不給你用 port 25

所以我們用 2525

mailgun 提供多個 smtp port

可以參考這邊文章

25, 465, 587… What port should I use?

找 Section: TRANSPORTSTART

填以下文字

mailgun_transport:
driver=smtp
hosts_try_auth = smtp.mailgun.org

找 Section: AUTH

填以下文字

auth_login:
driver = plaintext
public_name = LOGIN
hide client_send = : user: password

user 跟 password 請換上你的 mailgun 帳號密碼

之後你的 cpanel (exim 這個 mail server) 就會透過 mailgun 發送 email

就不用每個網域設定

但有個風險就是

假設有哪個智障客戶帳號被 hack 了

他就會用你的 mailgun 狂寄信

我過年前就遇到這樣的客戶

我把他停機

他竟然說要告我= =

我說你的帳號多次被拿去記廣告信

損害我其他用戶的權益

我沒跟你求償就不錯了 你還告我咧…

回到本文

這是 GCE 的問題

GCE 的主機就是得這樣寄 沒辦法

如果一般主機寄信正常

我是比較建議請客戶個別去申請 mailgun

他要怎麼亂寄就他家的事情