2013-04-27 94 views
0

我想访问AWS SES Webservice以编程方式添加新的经过验证的电子邮件标识。 API reference不提供相关信息,或者至少我不能在那里找到它。使用AWS SES API

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

https://email.us-east-1.amazonaws.com?AWSAccessKeyId=EXAMPLEKeyId&Action=VerifyEmailIdentity&[email protected]&Timestamp=2013-04-27T19:30:00Z&Version=2010-12-01&Signature= 

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

我是否需要使用SES密钥哈希整个参数?

SES API是否有较新的版本(2010-12-01)?

回答

8

你应该仔细阅读文档(再次)。

看看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' => '[email protected]' 
)); 

} 
catch(Exception $e) 
{ 
    echo $e->getMessage(); 
} 
+0

好了,谢谢你。我不想使用sdk,只是遵循api文档。假设我不使用sdk,因为它不适用于我想要使用的语言。我应该如何构建这些API调用? – pauel 2013-04-28 04:42:34

+1

这很容易。基本上你只是[授权并签署你的请求](http://docs.aws.amazon.com/ses/latest/DeveloperGuide/query-interface-authentication.html),当你这样做时,你将授权与[VerifyEmailIdentity action](http://docs.aws.amazon.com/ses/latest/APIReference/API_VerifyEmailIdentity.html) - 除了占用至少5倍以上的代码量外,它应该非常简单。 – Repox 2013-04-28 09:28:25

+0

好奇......你想用什么语言?有针对PHP,Ruby,Python,Java,.NET,Node.js,iOS和Android的SDK。您也可以利用AWS CLI(https://github.com/aws/aws-cli)。 – 2013-04-29 16:43:12