在 WHM 上配置 SendGrid 電子郵件

SendGrid 是一項基於雲端的 SMTP 服務,讓你無需管理電郵伺服器即可傳送電郵。

注意:我們的 VM 預設關閉了 25 埠的連線。如要開啟 25 埠,請購買 Mail Bridge,並在 進行設定於 VPS Manager 中。

如要在 WHM 上設定 Mailgun 電郵,請使用 本指南。

請按照以下步驟,在 WHM 端為你的網域名稱設定 SendGrid 服務及電郵系統:

步驟 1:為 SendGrid 註冊:


填妥所有聯絡資料後,點擊「Continue」。

步驟 2:你會被重新導向至瀏覽器中的新分頁,以驗證你的電郵帳戶。複製傳送到你電郵帳戶的驗證碼,在「Code」欄位中輸入,然後點擊「Verify」:


步驟 3:在「Enter certification code」欄位中輸入傳送到你手機的驗證碼,以驗證你的電話號碼,然後點擊「Verify」:


步驟 4:然後,你會收到復原碼,當你遺失手機或無法存取驗證裝置時會很有幫助。請複製並儲存該代碼,然後點擊「Continue」。你亦可選擇將代碼下載為檔案:


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


步驟 6:在下一頁中,請開啟你的 SendGrid 控制台:


步驟 7:進入後,前往「Settings」>>「API Keys」選單,在該處建立新的 API Key:


步驟 8:在開啟的選單中,輸入 API Key 名稱,將 API Key 權限設為「Full Access」選項,然後儲存設定:


步驟 9:設定 SendGrid Sender Authentication。有兩種方法可進行:

方法 1:Single Sender Verification

Single Sender Verification 是一種快速驗證方法,讓你在使用 SendGrid 帳戶時加入已授權收件人(單一或多個電郵地址)。例如,如你想從 cPanel 伺服器中已加入的 john.doe@example.com 傳送電郵至 jane.doe@gmail.com,即可使用此方法。為此,jane.doe@gmail.com 電郵地址應加入 Sendgrid 的 Single Sender Verification。

注意:建議 僅用於測試時使用 Single Sender Verification。

注意:你只能 從你已驗證的地址傳送,而不能從已驗證網域上的任何地址傳送。

  • 要設定 Single Sender Verification,請從你的 SendGrid 控制台前往「Settings」>>「Sender Authentication」選單 >> 點擊「Verify a Single Sender」按鈕:

  • 在下一頁,填寫聯絡資料以建立寄件人,然後點擊「Create」以儲存所有內容:

  • 之後,你會收到來自 SendGrid 的驗證電郵。要確認加入該電郵地址,請在電郵中點擊「Verify Single Sender」按鈕:

方法 2:網域驗證(建議)

  • 點擊「Settings」>> 前往「Sender Authentication」選單 >> 在「Domain Authentication」欄位下,點擊「Authenticate Your Domain」:

  • 在下一頁,回答第一及第二步的問題以驗證你的網域名稱,然後點擊「Next」:


    注意:在截圖中,我們對第二個問題選擇了「No」。不過,此回覆屬可選項目。

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

  • 現在需要透過設定相應的 CNAME 和 TXT DNS 記錄來驗證網域名稱。

    為網域建立 DNS 記錄後,請在步驟 2 勾選「I’ve added these records」方塊以確認已新增,然後點擊下方的「Verify」:


注意:DNS 記錄可能需要最多 24-48 小時才會完成傳播。

步驟 10:下一步是在 WHM 端為電郵帳戶設定 SMTP 設定。

要執行此操作,請前往 WHM >>「Service Configuration」>>「Exim Configuration Manager」>> 開啟「Advanced Editor」分頁。搜尋「Section: AUTH」,並在其中加入以下程式碼:

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

請確保以步驟 8 產生的 API Key 更新 <API_KEY_VALUE>。

步驟 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」部分。

必須提供有效的電郵地址