在 WHM 上配置 SendGrid 電子郵件

SendGrid 係一個雲端 SMTP 服務,令你無需管理電郵伺服器都可以發送電郵。

注意: 我哋嘅 VM 預設關閉咗 25 號埠口連線如果你想開啟 25 號埠口,請購買 Mail Bridge 並設定Starlight™ Manager入面。

要喺 WHM 設定Mailgun電郵,請參考呢份教學

請跟住以下步驟,喺 WHM 側設定SendGrid服務同電郵系統到你嘅網域名稱:

步驟 1:註冊SendGrid:


填好所有聯絡資料後,點擊「繼續」。

步驟 2:你會被導向新分頁驗證你嘅電郵帳戶。複製發送到你電郵帳戶嘅驗證碼,輸入到「驗證碼」欄位,然後點擊「驗證」:


步驟 3:輸入發送到你電話嘅驗證碼到「輸入認證碼」欄位,然後點擊「驗證」以驗證你嘅電話號碼:


步驟 4:之後,你會獲得一組復原碼,喺遺失電話或無法存取驗證裝置時有用。請複製並儲存該代碼,然後點擊「繼續」。你亦可以選擇將代碼下載成檔案:


步驟 5:喺下一頁填寫聯絡資料,然後點擊「下一步」:


步驟 6:喺下一頁打開你嘅 SendGrid 控制台:


步驟 7:到達之後,去「設定」>>「API Keys」選單,喺嗰度建立一個新嘅 API Key:


步驟 8:喺打開嘅選單入面,輸入API Key 名稱,將API Key 權限設為「完全存取」選項,然後儲存設定:


步驟 9:設定SendGrid 發件人認證。有兩種方法可以做到:

方法一:單一發件人驗證

單一發件人驗證——呢個係一個快速驗證方法,容許你喺使用 SendGrid 帳戶時加入授權收件人(單一或多個電郵地址)。例如,如果你想由加咗喺 cPanel 伺服器嘅 john.doe@example.com 發送電郵去 jane.doe@gmail.com,就可以用呢個方法。jane.doe@gmail.com 呢個電郵地址需要加到 SendGrid 嘅單一發件人驗證入面。

注意: 單一發件人驗證只建議用作測試

注意: 你只可以由你驗證咗嘅地址發送電郵,唔可以用任何已認證網域下嘅地址。

  • 要設定單一發件人驗證,請喺 SendGrid 控制台選擇「設定」>>「發件人認證」選單 >> 點擊「驗證單一發件人」按鈕:

  • 喺下一頁,填寫聯絡資料建立發件人,然後點擊「建立」儲存所有資料:

  • 之後,你會收到 SendGrid 發送嘅驗證電郵。要確認加入電郵地址,請喺電郵內點擊「驗證單一發件人」按鈕:

方法二:網域認證(建議)

  • 點擊「設定」>>去到「發件人認證」選單 >>喺「網域認證」欄下,點擊「認證你嘅網域」:

  • 喺下一頁,根據第一同第二步嘅問題認證你嘅網域名稱,然後點擊「下一步」:


    注意: 喺截圖入面,我哋揀咗第二條問題嘅「否」答案。不過,呢個回應係可選嘅。

  • 之後,輸入所需網域名稱,如有需要可設定其他選項,然後點擊「下一步」:

  • 而家需要透過設定相應嘅 CNAME 同 TXT DNS 記錄嚟驗證網域名稱。

    當 DNS 記錄已為網域建立後,喺第二步勾選「我已經加咗呢啲記錄」方格,然後點擊下方嘅「驗證」:


注意: DNS 記錄可能需要 24-48 小時先至會傳播。

步驟 10:下一步係設定 SMTP 設定喺 WHM 側嘅電郵帳戶。

要做呢個,請去 WHM >>「服務設定」>>「Exim 設定管理員」>>打開「進階編輯器」分頁。搜尋「Section: AUTH」並將以下代碼加入:

sendgrid_login:
driver = plaintext
public_name = LOGIN
client_send = : apikey : <API_KEY_VALUE>

記得將<API_KEY_VALUE>更新為第 8 步產生嘅 API Key。

步驟 11:之後,搵「Section: POSTMAILCOUNT」並將以下代碼加落去:

send_via_sendgrid:
driver = manualroute
domains = ! +local_domains
.ifdef SRSENABLED
# if outbound, and forwarding has been done, use an alternate transport
transport = ${if eq {$local_part@$domain} \
{$original_local_part@$original_domain} \
{sendgrid_smtp} {sendgrid_forwarded_smtp}}
.else
transport = sendgrid_smtp
.endif
route_list = "* smtp.sendgrid.net::587 byname"
host_find_failed = defer
no_more

步驟 12。搵「Section: TRANSPORTSTART」再加多一段代碼:

sendgrid_smtp:
driver = smtp
hosts = smtp.sendgrid.net
hosts_require_auth = smtp.sendgrid.net
hosts_require_tls = smtp.sendgrid.net

步驟 13:儲存 SMTP 設定。

步驟 14:發送一封電郵測試系統運作。電郵標頭會包含「SendGrid」部分。

必須提供有效的電郵地址