SendGrid 是一項雲端 SMTP 服務,讓你無需管理電郵伺服器即可發送電郵。
注意: 25 號埠預設關閉於我們的虛擬機器上連線(預設)。如需開啟 25 號埠,請購買 Mail Bridge 並進行設定於Starlight™ Manager內。
如要於 WHM 設定 SendGrid 電郵,請參考此指南。
請依照以下步驟,於 CyberPanel 端為你的網域名稱設定 SendGrid 服務及電郵系統:
1. 註冊 SendGrid:

填妥所有聯絡資料後,點擊「繼續」。
2. 你將被重新導向至新分頁以驗證你的電郵帳戶。複製發送到你電郵帳戶的驗證碼,輸入於「驗證碼」欄位並點擊「驗證」:

3. 輸入發送到你手機的驗證碼於「輸入認證碼」欄位並點擊「驗證」以驗證你的電話號碼:

4. 然後,你會獲得一組復原碼,於遺失手機或無法存取驗證裝置時可用。請複製並儲存該碼,然後點擊「繼續」。你亦可選擇將該碼下載為檔案:

5. 於下一頁填寫聯絡資料並點擊「下一步」:

6. 於下一頁,請開啟你的 SendGrid 控制台:

7. 到達後,前往「設定」>>「API 金鑰」選單以建立新的 API 金鑰:

8. 在開啟的選單中,輸入 API 金鑰名稱,將 API 金鑰權限設為「完全存取」選項,並儲存設定:

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. 下一步是為 CyberPanel 伺服器設定 SMTP。
很可惜,CyberPanel 目前尚未為用戶提供專用的 SMTP 設定介面。SendGrid 必須經由 SSH 終端機設定。
首先,以 root 身份登入你的伺服器:
ssh root@SERVER_IP_ADDRESS -p PORT
SERVER_IP_ADDRESS 是你伺服器的 IP 地址,而 PORT 是 SSH 連線埠(預設為22022)
使用文字編輯器開啟/etc/postfix/main.cf檔案:
nano /etc/postfix/main.cf
或vi /etc/postfix/main.cf
將以下內容新增至檔案底部:
smtp_sasl_auth_enable = yessmtp_sasl_password_maps = hash:/etc/postfix/sasl_passwdsmtp_sasl_security_options = noanonymoussmtp_sasl_tls_security_options = noanonymoussmtp_tls_security_level = encryptheader_size_limit = 4096000relayhost = [smtp.sendgrid.net]:587
現在你需要於另一個檔案中指定你的認證資料(使用apikey作為用戶名稱,API 金鑰作為密碼)/etc/postfix/sasl_passwd(你可能需要自行建立):
echo “[smtp.sendgrid.net]:587 apikey:YOUR_SENDGRID_API_KEY” > /etc/postfix/sasl_passwd
YOUR_SENDGRID_API_KEY 是你於第 8 步建立的金鑰。
接著,請確保該檔案僅 root 可讀寫,並使用 postmap 指令更新 Postfix 的 hash 表以使用此新檔案:
sudo chmod 600 /etc/postfix/sasl_passwdsudo postmap /etc/postfix/sasl_passwd
最後,重啟 Postfix:
systemctl restart postfix
於伺服器安裝 SASL 插件:
apt-get install libsasl2-modules # 適用於 Ubuntudnf install cyrus-sasl-plain # 適用於 Almalinux/CloudLinuxyum install cyrus-sasl-plain # 適用於 CentOS
另外,部分情況下需為 Dovecot 安裝 MySQL 驅動程式,以設定 MySQL 後端認證:apt install dovecot-sqlite dovecot-mysql # 適用於 Ubuntudnf install dovecot-mysql # 適用於 Almalinux/CloudLinuxyum install dovecot-mysql # 適用於 CentOS
之後,重啟 Dovecot:
systemctl restart dovecot
現在,你可以測試電郵是否經 SendGrid 中繼:
sendmail -f YOUR_LOCAL_EMAIL -v DESTINATION_EMAIL
YOUR_LOCAL_EMAIL 是你於 CyberPanel 帳戶建立的電郵帳戶,DESTINATION_EMAIL 是測試電郵的收件人。
然後輸入你的訊息內容並按Ctrl+D發送。
或者,你亦可於 CyberPanel 帳戶內使用 Webmail 發送測試電郵。