У меня есть код для проверки адреса электронной почты в Amazon ses
<?php $sesClient = SesClient::factory(array( 'key' => 'secret key', 'secret' => 'secret', 'profile' => 'user_name', 'region' => 'us-east-1' )); $result = $sesClient->verifyEmailAddress(array('EmailAddress'=> $email)); ?>
Мой результат для $ result выглядит следующим образом:
object(Guzzle\Service\Resource\Model) { [protected] structure => null [protected] data => array() }
Я действительно получил подтвержденный email в указанном мной электронном письме. Мой вопрос в том, как проверить правильность работы функции с использованием полученного мной ответа? В более ранних веб-сервисах Amazon они использовали $result->is('Ok')
для проверки результата. какую функцию я должен использовать сейчас, чтобы проверить результат на успех и неудачу этой функции?
Я проверил с ссылкой amazon и до сих пор не могу найти функцию для успешного ответа
Глядя на тесты aws-sdk-php, он нашел следующее:
Возможно, вы можете попробовать:
$sesClient->verifyEmailAddress(array('EmailAddress'=> $email)); $sesClient->waitUntilIdentityExists(array('Identities' => array($email))); $result = $sesClient->getIdentityVerificationAttributes(array('Identities' => array($email))); if ('Success' === $result->getPath("VerificationAttributes/{$email}/VerificationStatus"))
Я считаю, что вам нужно использовать verifyEmailIdentity
not verifyEmailAddress
:
$result = $sesClient->verifyEmailIdentity(array('EmailAddress'=> $email));
Как указано в документации AWS:
Действие VerifyEmailAddress устарело с версии проверки домена от 15 мая 2012 года. Теперь действие VerifyEmailIdentity предпочтительнее.
• Дополнительная литература