发件人SignatureDoesNotMatch签名已过期

时间:2016-07-18 13:17:21

标签: php amazon amazon-ses

我的代码在几天前运行完美,我今天检查发现使用amazon ses服务发送电子邮件时出错

在“https://email.us-west-2.amazonaws.com”上执行“SendEmail”时出错; AWS HTTP错误:客户端错误:POST https://email.us-west-2.amazonaws.com导致403 Forbidden响应:发件人签名(截断...)SignatureDoesNotMatch(客户端):签名已过期:20160718T125547Z现在早于20160718T125616Z(20160718T130116Z - 5分钟。 ) - 发件人SignatureDoesNotMatch签名已过期:20160718T125547Z现在早于20160718T125616Z(20160718T130116Z - 5分钟)b64acacc-4ce7-11e6-adb5-0992ceb0921c

我的代码是:

require_once("aws/aws-autoloader.php");
use Aws\Ses\SesClient;

define('SENDER', 'no-reply@example.net');

    define('RECIPIENT', 'my@example.com');    
    define('REGION','us-west-2');

    $client = SesClient::factory(array(
        'version'=> 'latest',     
        'region' => REGION,
        'credentials' => array(
            'key'    => '******************',
            'secret' => '*****************************',
        )
    ));

    $request = array();
    $request['Source'] = SENDER;
    $request['Destination']['ToAddresses'] = array(RECIPIENT);
    $request['Message']['Subject']['Data'] = $subject;
    $request['Message']['Body']['Text']['Data'] = $message;

    try {
         $result = $client->sendEmail($request);
         $messageId = $result->get('MessageId');

    } catch (Exception $e) {
        echo($e->getMessage()."\n");

    }

我该如何解决这个问题?

0 个答案:

没有答案