1

我想访问AWS SES Web服务以编程方式添加新的已验证电子邮件身份。API 参考没有提供相关信息,或者至少我在那里找不到。

当我尝试访问 api 时,由于缺少签名而出现错误。

https://email.us-east-1.amazonaws.com?AWSAccessKeyId=EXAMPLEKeyId&Action=VerifyEmailIdentity&EmailAddress=someone@somewhere.org&Timestamp=2013-04-27T19:30:00Z&Version=2010-12-01&Signature=

如何准确创建此签名,例如使用 php 的 hash_hmac()?

我是否需要使用 SES 密钥对整个参数进行散列?

是否有比记录的版本 (2010-12-01) 更新的 SES API 版本?

4

1 回答 1

9

您真的应该(再次)阅读文档。

看看对您有很大帮助的AWS PHP SDK 。
示例实现将类似于:

<?php
require 'aws.phar';

use Aws\Common\Enum\Region;
use Aws\Ses\SesClient;


try {   
$ses = SesClient::factory(array(
  'key'    => 'YOUR_KEY',
  'secret' => 'YOUR_SECRET',
  'region' => Region::US_EAST_1
));


$ses->verifyEmailIdentity( array(
    'EmailAddress' => 'the_mail_adress_to_verify@example.com'
));

}
catch( Exception $e )
{
    echo $e->getMessage();
}
于 2013-04-27T18:26:02.177 回答