如果我的網域在 Amazon SES 中停留在「待驗證」狀態或「未驗證」驗證狀態,我該怎麼辦?

2 分的閱讀內容
0

我將正規名稱記錄 (CNAME) 新增至網域的 DNS 伺服器,該伺服器與我要在 Amazon Simple Email Service (Amazon SES) 上驗證的網域指定名稱及值相符。不過,Amazon SES 驗證狀態仍處於「驗證待處理」或「未驗證」狀態。如何解決這個問題?

簡短描述

Amazon SES 網域驗證可能因下列一或多個原因而停留在「驗證待處理」或「未驗證」的驗證狀態:

  • CNAME 記錄包含其他字元或缺少字元。
  • 您的 DNS 供應商會自動將頂點網域新增至 DNS 記錄的末尾。
  • CNAME 記錄尚未新增至委派的名稱伺服器。

確認記錄不存在任何這些問題後,請在 Amazon SES 上重試網域驗證。

解決方法

檢查 CNAME 記錄是否包含其他字元或缺少字元

使用 DNS 工具 (例如 dignslookup) 測試您的 CNAME 記錄。Amazon SES 會為 Easy DKIM 身分驗證產生三筆 CNAME 記錄,因此您必須對每筆記錄重複下列程序。

在 macOS 或 Linux 作業系統上,執行 dig 命令:

注意: 在 Amazon SES 中使用您的 CNAME 記錄名稱取代 _domainkey.example.com

C:\>nslookup -type=CNAME 4hzwn5lmznmmjyl2pqf2agr3uzzzzxyz_domainkey.example.com

在 Windows 作業系統上執行 nslookup 命令:

注意: 在 Amazon SES 中使用您的 CNAME 記錄名稱取代 _domainkey.example.com

$ dig CNAME 4hzwn5lmznmmjyl2pqf2agr3uzzzzxyz_domainkey.example.com +short

檢閱 dignslookup 命令的輸出。在輸出中,確認 canonical name= 後面的字串與 Amazon SES 主控台中身分識別清單列為網域的 CNAME 值相符。

例如,下列輸出會顯示其他字元 (空格):

dig CNAME 4hzwn5lmznmmjyl2pqf2agr3ueo2kf3d._domainkey.example.com +short
" 4hzwn5lmcnmmoylkpqf2agr3uwo2kxyz.dkim.amazonses.com. "

作為另一個範例,下列輸出會顯示缺少「=」字元的 CNAME 記錄:

C:\>nslookup -type=CNAME _amazonses.example.com
Server: dns.example.com
Address:  192.168.1.1

Non-authoritative answer:
_amazonses.example.com   text = "9kFNbWDLzxvzYgPg1lUSTkUudKR1dDtzzCPuWmYhZro"

在建立 CNAME 記錄時,最佳做法是直接從 Amazon SES 主控台複製值。請務必包含提供的確切值。不要排除任何必要的字元 (例如「=」),也不要包含任何其他字元,例如空格。

檢查您的 DNS 供應商是否自動將頂點網域新增至 DNS 記錄的末尾

某些 DNS 供應商會自動將頂點網域附加到 DNS 記錄的末尾。例如,如果輸入 _amazonses.example.com,則某些 DNS 供應商可能會將 .example.com 附加到記錄名稱。這會將記錄名稱變更為 _amazonses.example.com.example.com 。Amazon SES 會為 Easy DKIM 身分驗證產生三筆 CNAME 記錄,因此您必須對每筆記錄重複下列程序。

若要檢查頂點網域是否在 DNS 記錄中重複,請在複製頂點網域的 CNAME 記錄上執行 DNS 工具,例如 dignslookup。在 macOS 或 Linux 作業系統上,執行 dig 命令:

注意: 在 Amazon SES 中使用您的 CNAME 記錄名稱替換 _domainkey.example.com

dig CNAME 4hzwn5lmznmmjyl2pqf2agr3uzzzzxyz_domainkey.example.com.example.com

在 Windows 作業系統上,執行 nslookup 命令: 注意: 在 Amazon SES 中使用您的 CNAME 記錄名稱替換 _domainkey.example.com

C:\>nslookup -type=CNAME 4hzwn5lmznmmjyl2pqf2agr3uzzzzxyz_domainkey.example.com.example.com

如果命令傳回您所建立的 CNAME 記錄的值,則您的 DNS 供應商會將頂點網域新增至 DNS 記錄的名稱欄位末尾。若要解決此問題,請編輯 CNAME 記錄,並從您為名稱欄位輸入的文字移除頂點網域。例如,將 _amazonses.example.com 替換為 _amazonses

檢查 CNAME 記錄是否尚未新增至委派的名稱伺服器

使用 DNS 工具 (例如 dignslookup) 取得您嘗試在 Amazon SES 驗證網域的委派名稱伺服器。在 macOS 或 Linux 作業系統上,執行 dig 命令:

注意:example.com 替換為您嘗試在 Amazon SES 驗證的網域。

$ dig -t NS example.com
;; ANSWER SECTION:
example.com.   172800  IN    NS    ns1.example.com.
example.com.   172800  IN    NS    ns2.example.com.
example.com.   172800  IN    NS    ns3.example.com.

在 Windows 作業系統上,執行 nslookup 命令: 注意:example.com 替換為您嘗試在 Amazon SES 驗證的網域。

C:\>nslookup -type=NS example.com
Non-authoritative answer:
example.com     nameserver = ns3.example.com
example.com     nameserver = ns4.example.com
example.com     nameserver = ns1.example.com
example.com     nameserver = ns2.example.com

然後,前往您建立 CNAME 記錄的 DNS 服務以取得名稱伺服器。例如,如果您在 Amazon Route 53 中建立了 CNAME 記錄,請開啟 Route 53 主控台。在 Route 53 主控台中檢視 CNAME 記錄時,名稱伺服器將顯示在欄位。

如要驗證之網域的委派名稱伺服器與具有 CNAME 記錄的名稱伺服器不相符,請執行下列其中一個動作:

  • 在委派的名稱伺服器中新增 CNAME 記錄。
  • 在 DNS 登錄中將 CNAME 記錄的名稱伺服器設定為新委派的名稱伺服器。

在 Amazon SES 上重試網域驗證

在更正記錄的任何問題後,在 Amazon SES 上重試網域驗證。

當狀態為「驗證待處理」時,請依照下列步驟重試網域驗證:

  1. 開啟 Amazon SES 控制台
  2. 從導覽列的 AWS 區域選取器,選取網域所在的區域。
  3. 在左側導覽窗格中,選擇已驗證的身分。然後,選擇停留在「驗證待處理」的網域。
  4. 選擇刪除,然後確認刪除。
  5. 選擇建立身分。然後,重新輸入停留在「驗證待處理」的網域,確保選擇與原先相同的設定。
  6. 選擇建立身分
  7. 等待網域的驗證狀態變更為「已驗證」。

當狀態為「未驗證」時,請依照下列步驟重試網域驗證:

  1. 開啟 Amazon SES 控制台
  2. 從導覽列的 AWS 區域選取器,選取網域所在的區域。
  3. 在左側導覽窗格中,選擇已驗證的身分。然後,選擇停留在「驗證待處理」的網域。
  4. 選擇重試
  5. 等待網域的驗證狀態變更為「已驗證」。