我有用于验证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()
}
我确实在我指定的电子邮件ID中收到了经过验证的电子邮件。我的问题是,如何使用我收到的回复检查功能是否正常工作?在早期的Amazon Web服务中,他们使用$result->is('Ok')
来验证结果。我现在应该使用什么功能来检查该功能成功与失败的结果?
我已经使用amazon link进行了检查,但仍无法找到成功回复的功能
答案 0 :(得分:2)
我认为你需要使用verifyEmailIdentity
而不是 verifyEmailAddress
:
$result = $sesClient->verifyEmailIdentity(array('EmailAddress'=> $email));
如AWS文档中所述:
自5月起,不推荐使用VerifyEmailAddress操作 15,2012年域名验证发布。 VerifyEmailIdentity 行动现在是首选。
答案 1 :(得分:2)
看看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"))