在GCP上 無法正常寄送郵件使用 Sendgrid代理伺服器
第1步 - 註冊Sendgrid免費電子郵件帳戶
使用Sendgrid 註冊一個免費的電子郵件帳戶。
第2步 - 通過exim.conf設置與VestaCP的sendgrid
i)可以用Google Console控制台SSH連入您的VM,並打開exim配置文件。但首先我們要做一個備份,這也需要以root身份登錄。
sudo su
cp /etc/exim/exim.conf /etc/exim/exim.conf-backup
sudo vim /etc/exim/exim.conf
// 如果不想打指令可以直接使用VestaCP 操作
第3步 - 先點伺服器> 找到 exim 點設置
1、然後搜尋 begin authenticators
在下方添加:
sendgrid_login:// 填入你剛剛註冊的帳號密碼
driver = plaintext
public_name = LOGIN
client_send = : 帳號 : 密碼
2、找到ROUTERS CONFIGURATION
在下方添加:
send_via_sendgrid:// 我們使用port 2525 因為25、465、578預設被Google Cloud阻擋
driver = manualroute
domains = ! +local_domains
transport = sendgrid_smtp
route_list = "* smtp.sendgrid.net::2525 byname"
host_find_failed = defer
no_more
3、找到TRANSPORTS CONFIGURATION
在下方添加:
sendgrid_smtp:// 現在你可以發送電子郵件試試 如果出現下列錯誤訊息
driver = smtp
hosts = smtp.sendgrid.net
hosts_require_auth = smtp.sendgrid.net
hosts_require_tls = smtp.sendgrid.net
VESTACP 550 Access Denied – Invalid HELO name (See RFC2821 4.1.3) 解決辦法
一樣到 伺服器> 設定主機 / EXIM 編輯
然後找到下面兩行在前面加上#註解掉
# drop condition = ${if isip{$sender_helo_name}}
# message = Access denied - Invalid HELO name (See RFC2821 4.1.3)
4、最後搜尋 routers configuration
找到 redirect_router = dnslookup把他修改成
redirect_router = send_via_sendgrid
// 現在測試一下 已經可以正常寄送電子郵件了
Happy building!
留言
張貼留言