Php 使用AWS SES API

Php 使用AWS SES API,php,amazon-web-services,amazon-ses,Php,Amazon Web Services,Amazon Ses,我想访问以编程方式添加新的已验证电子邮件身份。政府没有提供相关信息,或者至少我在那里找不到 当我尝试访问api时,由于缺少签名而出现错误 https://email.us-east-1.amazonaws.com?AWSAccessKeyId=EXAMPLEKeyId&Action=VerifyEmailIdentity&EmailAddress=someone@somewhere.org&Timestamp=2013-04-27T19:30:00Z&Versio

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

当我尝试访问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密钥散列整个参数


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

您真的应该再次阅读文档

看看这本书,它会对你有很大帮助。 示例实现类似于:

<?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();
}

你真的应该再看一遍文档

看看这本书,它会对你有很大帮助。 示例实现类似于:

<?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();
}

好的,谢谢。我不想使用sdk,只是遵循api文档。让我们假设我不使用sdk,因为它不适用于我想要使用的语言。我应该如何构造这些api调用?这很简单。基本上你只是,当你这样做的时候,你将你的授权与-除了占用至少五倍的代码量之外,它应该是相当简单的。好奇。。。你想用什么语言?有用于PHP、Ruby、Python、Java、.NET、Node.js、iOS和Android的SDK。你也可以利用AWS CLI。@JeremyLindblom这个问题是用PHP标记的——很可能是他想要使用的语言。对,但他在第一条评论中提到,SDK并不适用于我想要使用的语言。只是确保他能找到合适的工具。已经对你的答案投了赞成票。好的,谢谢。我不想使用sdk,只是遵循api文档。让我们假设我不使用sdk,因为它不适用于我想要使用的语言。我应该如何构造这些api调用?这很简单。基本上你只是,当你这样做的时候,你将你的授权与-除了占用至少五倍的代码量之外,它应该是相当简单的。好奇。。。你想用什么语言?有用于PHP、Ruby、Python、Java、.NET、Node.js、iOS和Android的SDK。你也可以利用AWS CLI。@JeremyLindblom这个问题是用PHP标记的——很可能是他想要使用的语言。对,但他在第一条评论中提到,SDK并不适用于我想要使用的语言。只是确保他能找到合适的工具。我已经对你的答案投了赞成票。