[Server] 使用 Amazon SES (Simple Email Service) 發送信件,在 Google Compute Engine

Google-Compute-Engine

最近剛使用 Google 所提供的 VPS (Virtual private server) 服務 Compute Engine

之前使用 Amazon SES 的經驗都只在 Linode 上做過

但一轉來 Google Compute Engine 馬上就遇到了問題

像是原本我在 Linode 上頭設定的 smtp port 465 就不能使用了 (除非使用 Google 所提供或信賴的服務,像是: gmail, SendGrid …)

也因為這個問題我爬了不少文 xD

因為在 Local 端我可以成功寄信(透過 phpmailer),而在 Google Compute Engine 上寄信卻會失效

而在 Server 端上, phpmailer 回傳的錯誤訊息: The following From address failed: xxx@gmail.com : Called Mail() without being connected

一開始 debug 很沒頭緒阿,先是去追 phpmailer 回傳的錯誤訊息

最後才在 Google Cloud 官方文件中找到了答案

Google Compute Engine does not allow outbound connections on ports 25, 465, and 587 but you can still set up your instance to send mail using partner services like SendGrid, Mailgun, or using Google Apps.

Ref: https://cloud.google.com/compute/docs/tutorials/sending-mail/

 

恩…滿無言的 ,不能用 SMTP 常見的 465 port,除非用 google所提供的服務 囧

 

最後我將 Amazon SES 的 port 換成別組才得以在 Server 上寄信

Google Compute Engine 的連線以及反映速度滿快的(在台灣有機房的樣子)

剛開始使用,不曉得未來在 Google Cloud 還會遇到怎樣的問題,就邊整理邊學習囉

Leave a Reply