簡體   English   中英

SES AWS錯誤代碼:SignatureDoesNotMatch,狀態代碼:403

[英]SES AWS Error Code: SignatureDoesNotMatch, Status Code: 403

我在嘗試通過Amazon SES發送郵件時收到AWS錯誤代碼:SignatureDoesNotMatch,狀態代碼:403。

我已經確認我使用的是通過https://console.aws.amazon.com/iam/home?#users創建的正確憑據,但錯誤仍然存​​在。

我假設我在iam / home上創建的憑據實際上是全局的,但我不知道我做錯了什么。 整個錯誤是:

AWS錯誤代碼:SignatureDoesNotMatch,狀態代碼:403,AWS請求ID:xxx,AWS錯誤類型:客戶端,AWS錯誤消息:簽名已過期:20140314T031111Z現在早於20140317T15116Z(20140317T151111Z - 5分鍾),User-Agent:aws- sdk-php2 / 2.5.3 Guzzle / 3.8.1 curl / 7.22.0 PHP / 5.3.10-1ubuntu3.10在第91行/url/Vendor/Aws/Common/Exception/NamespaceExceptionFactory.php中引發

實際代碼是我從以下代碼中提取的代碼: http//docs.aws.amazon.com/aws-sdk-php/latest/class-Aws.Ses.SesClient.html#_sendEmail

我從我的本地環境中解雇了這個腳本。

我在哪里可以找到有用的憑據?

這看起來像時鍾偏差問題。 您發送請求的計算機的時間與Amazon SES服務器的時間差異太大。 這導致您的簽名無效。 你的憑據可能沒問題。 更正機器的時鍾或與NTP服務器同步。

除了這個解決方案,我還做了以下幾點。

1)我在IAM中創建了具有PowerUser策略的用戶。 2)更新了我的代碼中的秘密/訪問密鑰。

現在它正在運作。

不確定為什么SMTP憑據(在SES儀表板下創建)無效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM