![](/img/trans.png)
[英]Laravel AWS SES - 403 Forbidden - SignatureDoesNotMatch when trying to send email
[英]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.