2014-03-28 54 views
1

使用Amazon SDK嘗試從我們的系統發送電子郵件。AWS SES PHP SDK請求需要來自驗證域?

步驟我跟着:

創建AWS賬戶,驗證的mydomainname.co.uk和也驗證了2個電子郵件地址。 [email protected][email protected]

我然後設置SMTP憑證和現在用的API密鑰和祕密密鑰作爲我的訪問憑據一旦創建客戶端

$sesClient = SesClient::factory(array(
     'key' => 'AKIAIXXXXXXXXXXX5LGQ', 
     'secret' => 'AqNL4XXXXXXXXXXXCaBxDMWjzcY4zGbN8tR2S', 
     'region' => 'us-west-2', 

    )); 


    var_dump($sesClient->getSendQuota()); 

我運行任何與該API我得到下面的異常交互

The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details. 

澄清:

  • 我已經在AWS網絡界面上成功發送測試郵件
  • 我試過這個與不同的用戶
  • 我也嘗試過使用SMTP用戶/ pass但得到了我的憑據無效的響應
  • 我試過這個與我發現在網上加點的各種庫包裝代碼,同樣的錯誤
  • 我仍然處於測試模式,但這應該是好的,因爲我只是試圖發送驗證電子郵件地址到驗證的電子郵件地址 - 對不對?

我能想到的唯一的事情:我有我的本地計算機上的測試環境設置這是不是對我證實域,會不會是AWS要我從驗證發送我的要求域名以驗證它?

編輯

只是想在我的生產箱運行這段代碼,我也得到了同樣的錯誤

也許我需要的生產模式?

+0

您是否從ses域部分驗證了域名? –

回答

0

您收到的例外意味着您的憑據(keysecret)不正確。嘗試向其他服務(例如$s3Client->listBuckets())發送請求以進行復查,然後登錄到您的帳戶並獲取正確的帳戶。如果某些事情看起來不正確,請聯繫AWS支持。