本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
電子郵件地址與網域驗證問題
若要使用 Amazon SES 來驗證電子郵件地址或網域,需使用 Amazon SES 主控台或 Amazon SES API 來啟動程序。本節包含可能有助於解決驗證程序問題的資訊。
注意
常見的網域驗證問題
如果您嘗試使用 透過 DNS 提供者驗證 DKIM 網域身分 中的程序來驗證網域卻遇到問題,請檢閱下方的可能原因和解決方案。
-
您嘗試驗證並非您所有的網域 - 您無法驗證並非您所有的網域。例如,如果您想要從 gmail.com 網域上的地址透過 Amazon SES 傳送電子郵件,您需要專門驗證該電子郵件地址。您無法驗證整個 gmail.com 網域。
-
您嘗試驗證私有網域 - 如果無法透過公有 DNS 解決 DNS 記錄,則無法驗證網域。
-
您的 DNS 提供者不允許在 DNS 記錄名稱中使用底線 - 有些 DNS 提供者不允許您在記錄名稱中包含底線字元 (_)。不過,DKIM 記錄名稱必須使用底線。如果您的 DNS 供應商不允許您在記錄名稱中輸入底線,請聯絡供應商的客戶支援團隊以尋求協助。
-
您的 DNS 提供者將網域名稱附加到 DNS 記錄的結尾處 - 有些 DNS 提供者會自動將您的網域名稱附加到 DNS 記錄的屬性名稱。例如,如果您建立了屬性名稱是 _domainkey.example.com 的記錄,提供者可能會附加網域名稱,產生 _domainkey.example.com.example.com。為了避免重複的網域名稱,輸入 DNS 紀錄時,請在網域名稱結尾處加上句號。此步驟可告知您的 DNS 提供者,他們不需要將網域名稱附加到記錄。
-
您的 DNS 供應商修改了 DNS 記錄值 - 有些供應商會自動將 DNS 記錄值修改為只使用小寫字母。只有當驗證記錄的屬性值與您啟動網域所有權驗證程序時 Amazon SES 所提供的值完全相符,Amazon SES 才會驗證您的網域。如果您網域的 DNS 提供者將 DNS 記錄值變更為只使用小寫字母,請聯絡 DNS 提供者以尋求其他協助。
-
您想要多次驗證相同的網域 – 由於您在不同區域內傳送,或者您自位於同網域中的多個 AWS 帳戶傳送,因此您可能需要驗證您的網域不只一次。如果您的 DNS 提供者不允許您擁有一個以上含相同屬性名稱的 DNS 記錄,您仍有可能驗證兩個網域。如果您的 DNS 提供者允許的話,您可以指派多個屬性值給相同的 DNS 記錄。例如,如果您的 DNS 是由 Amazon Route 53 管理,您可以完成下列步驟,為相同的 CNAME 記錄設定多個值:
-
在 Route 53 主控台中,選擇您在第一個區域中驗證網域時所建立的 CNAME 記錄。
-
在 Value (值) 方塊中,移至現有的屬性值結尾,然後按 Enter 鍵。
-
新增其他區域的屬性值,然後儲存記錄集。
如果您的 DNS 提供者不允許您將多個值指派給相同的 DNS 記錄,您可以在 DNS 記錄的屬性名稱中包含 _domainkey 驗證網域一次,另一次驗證則將屬性名稱的 _domainkey 移除。這個解決方案的缺點是,相同的網域您只能驗證兩次。
-
檢查網域驗證設定
您可以使用以下程序來檢查 Amazon SES 網域驗證的 DNS 記錄是否已正確發佈到您的 DNS 伺服器。此程序使用 nslookup
這些說明中的命令皆於 Windows 7 上執行,而我們使用的網域範例是 ses-example.com,由使用 CNAME 紀錄的 Easy DKIM 設定。
在此程序中,您會先看到您的網域使用的 DNS 伺服器,然後查詢這些伺服器以檢視 CNAME 記錄。之所以查詢提供您的網域的 DNS 伺服器,是因為這些伺服器包含您的網域之最新資訊,可能需要時間才能傳播到其他 DNS 伺服器。
若要確認您的網域驗證 CNAME 記錄已發佈到您的 DNS 伺服器
-
執行以下步驟來尋找網域的名稱伺服器。
-
前往命令列。若要前往 Windows 7 的命令列,請選擇 Start (開始),然後輸入 cmd。在以 Linux 為基礎的作業系統上,開啟終端機視窗。
-
在命令提示字元中輸入以下內容,其中 <domain> 是您的網域。這將列出所有提供您網域的名稱伺服器。
nslookup -type=NS <domain>
如果您的網域是 ses-example.com,這個命令將如下所示:
nslookup -type=NS ses-example.com
命令的輸出將列出提供您網域的名稱伺服器。您將在後續步驟中查詢其中一個伺服器。
-
-
執行下列步驟來確認 CNAME 記錄已正確發佈。請謹記,Amazon SES 會為 Easy DKIM 身分驗證產生三個 CNAME 記錄,因此對三個記錄重複以下操作程序。
-
在命令提示中輸入以下內容,其中 <random string> 是 SES 產生的 CNAME 名稱,<domain> 是您的網域,<name server> 是您在步驟 1 找到的其中一個名稱伺服器。
nslookup -type=CNAME <random string>_domainkey.<domain> <name server>
在我們的 ses-example.com 範例中,若在步驟 1 找到的名稱伺服器名為 ns1.name-server.net,且 SES 產生的 <random string> 是
4hzwn5lmznmmjyl2pqf2agr3uzzzzxyz
,我們便要輸入下列內容:nslookup -type=CNAME 4hzwn5lmznmmjyl2pqf2agr3uzzzzxyz_domainkey.ses-example.com ns1.name-server.net
-
在命令的輸出中,驗證
canonical name =
之後的字串與您在 Amazon SES 主控台的身分清單中選擇網域時所看到的 CNAME 值相符。在我們的範例中,我們使用
4hzwn5lmznmmjyl2pqf2agr3uzzzzxyz.dkim.amazonses.com
的值在4hzwn5lmznmmjyl2pqf2agr3uzzzzxyz
_domainkey.ses-example.com 下尋找 CNAME 記錄。如果記錄已正確發佈,預期命令有以下輸出:4hzwn5lmznmmjyl2pqf2agr3uzzzzxyz_domainkey.ses-example.com canonical name = "4hzwn5lmznmmjyl2pqf2agr3uzzzzxyz.dkim.amazonses.com"
-
常見的電子郵件驗證問題
-
驗證電子郵件未送達 - 如果您完成「驗證電子郵件地址身分」中的程序,但並未在幾分鐘內收到驗證電子郵件,請完成以下步驟:
-
檢查您嘗試驗證之電子郵件地址的垃圾郵件或垃圾郵件資料夾。
-
確認您嘗試驗證的地址能夠接收電子郵件。使用個別的電子郵件地址 (例如,您的個人電子郵件地址),傳送測試電子郵件到您想要驗證的地址。
-
查看 Amazon SES 主控台中的已驗證地址清單
。確認您嘗試驗證的電子郵件地址中沒有任何錯誤。
-