GCP虛擬主機透過Gmail轉送電子郵件

Google Cloud Platform上的虛擬主機不被允許對外的SMTP流量, 包含Port 25, 465與587都被封鎖, 若您的服務需要發電子郵件, 量大的辦法只有透過第三方Mail Relay, 例如GCP推薦的三大家: Sendgrid, Mailgun或Mailjet, 不過少量的話, 可用Gmail的SMTP Relay, 每日可到2000封, 知道自己服務量的話, 這個辦法是相對划算的

開啟Gmail的SMTP Relay: SMTP 轉發:透過 Google 轉送非 Gmail 服務的外寄郵件

本文將實際開啟Gmail的Relay設定, 讓Google Cloud Platform的虛擬機Postfix將電子郵件以Gmail轉發出去

Gmail SMTP Relay設定


GCP虛擬主機透過Gmail轉送電子郵件
前提是您必須是Gmail的管理員, 到Google Admin將機構的SMTP Relay設定加入

GCP虛擬主機透過Gmail轉送電子郵件
這裡我採用
1. 僅限我的網域中已註冊的 Apps 使用者
2. 僅接受來自指定 IP 位址的郵件
3. 需要 TLS 加密

的設定, IP位址為Google Cloud Platform上的虛擬主機Public IP, 建議用保留的IP, 避免重新開機後IP變更, 這樣還得回Google Admin修改

設定Postfix SMTP Relay


我使用作業系統Debian 9的虛擬機, 安裝Postfix, 切換到root身分
sudo su -


安裝Postfix Mail Server
apt-get install postfix


接著Postfix安裝程式將會詢問伺服器型態, 選擇"Satellite system", 後續都用預設值按"OK"完成安裝即可

修改/etc/postfix/main.cf
nano /etc/postfix/main.cf


尋找relayhost, 修改為
relayhost = [smtp-relay.gmail.com]:587


加入設定值
smtp_always_send_ehlo = yes
smtp_helo_name = example.com
smtp_use_tls = yes
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt

請修改example.com為你實際的domain name

修改inet_protocols, 只使用IPv4
inet_protocols = ipv4


儲存main.cf後, 重新啟動Postfix
service postfix restart


Postfix預設聽在127.0.0.1 Port 25, 修改應用程式Mail Server的IP/Port設定
這樣就完成SMTP Relay到Gmail, 請注意每日有2000封的限制: G Suite 的 Gmail 傳送限制
2018-05-09 10:59 發佈

Ryan Lai wrote:
請注意每日有2000封的限制: G Suite 的 Gmail 傳送限制...(恕刪)

沒有G Suite服務,GCP VM還有沒別的方法走SMTP?
只能透過第三方服務
GCP官方推薦的是: Sendgrid, Mailgun, Mailjet
沒有像AWS的SES是可惜之處

up2u wrote:
沒有G Suite服...(恕刪)
請問有教pop3的教學嗎

smtp 目前已經設定成功

但無法收信件

只能發信件

卻不能收信件
很可惜的, 在GCP上SMTP/POP3都被封了
承恩s wrote:
請問有教pop3的教(恕刪)
Ryan Lai wrote:
很可惜的, 在GCP(恕刪)


所以只能轉發信件

不能收件

基本上就是不能架設email server了
是的
承恩s wrote:


所以只能轉發信件...(恕刪)
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?