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 = plaintextpublic_name = LOGINclient_send = : apikey : <API_KEY_VALUE>
請確保以步驟 8 產生的 API Key 更新 <API_KEY_VALUE>。
步驟 11:之後,尋找「Section: POSTMAILCOUNT」,並在該處加入以下程式碼:send_via_sendgrid:driver = manualroutedomains = ! +local_domains.ifdef SRSENABLED# if outbound, and forwarding has been done, use an alternate transporttransport = ${if eq {$local_part@$domain} \{$original_local_part@$original_domain} \{sendgrid_smtp} {sendgrid_forwarded_smtp}}.elsetransport = sendgrid_smtp.endifroute_list = "* smtp.sendgrid.net::587 byname"host_find_failed = deferno_more
步驟 12。 尋找「Section: TRANSPORTSTART」,並再加入一段程式碼:sendgrid_smtp:driver = smtphosts = smtp.sendgrid.nethosts_require_auth = smtp.sendgrid.nethosts_require_tls = smtp.sendgrid.net
步驟 13:儲存 SMTP 設定。
步驟 14:傳送一封電郵以確認系統是否正常運作。電郵標頭將包含「SendGrid」部分。