2016-07-19 66 views
0

有沒有驗證電子郵件域或通過API發送驗證的方法?我希望我的客戶在我的網站上創建電子郵件廣告系列時確認他們的電子郵件域。PHP亞馬遜SES電子郵件驗證

我正在使用PHP AWS SDK v2。 http://docs.aws.amazon.com/aws-sdk-php/v2/guide/service-ses.html

$mailbox_email = '[email protected]'; 

$aws_client = \Aws\Common\Aws::factory(array(
    'region' => 'eu-west-1', 
    'credentials' => array(
    'key'   => AWS_ACCESS, 
    'secret' => AWS_SECRET 
) 
)); 

$ses_client = $aws_client->get('Ses'); 

$ses_result = $ses_client->verifyEmailIdentity(['EmailAddress' => $mailbox_email]); 

// Set bounces, complaint, deliveries notification 
$ses_client->setIdentityNotificationTopic(array(
'Identity' => $mailbox_email, 
'NotificationType' => 'Bounce', 
'SnsTopic' => 'arn:aws:sns:eu-west-1:9:ses_bounces' 
)); 

$ses_client->setIdentityNotificationTopic(array(
'Identity' => $mailbox_email, 
'NotificationType' => 'Complaint', 
'SnsTopic' => 'arn:aws:sns:eu-west-1:9:ses_complaints' 
)); 

$ses_client->setIdentityNotificationTopic(array(
'Identity' => $mailbox_email, 
'NotificationType' => 'Delivery', 
'SnsTopic' => 'arn:aws:sns:eu-west-1:9:ses_deliveries' 
)); 

$ses_client->SetIdentityFeedbackForwardingEnabled(array(
'Identity' => $mailbox_email, 
'ForwardingEnabled' => false 
)); 

回答

0

在AWS SES的電子郵件域驗證你需要做一個DNS的設置或者添加DKIM或TXT記錄無法使用API​​除非域是在路線53做,你可以訪問帳戶。這是驗證電子郵件域的方法。因此電子郵件域驗證必須手動完成。

http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-domains.html

您只能使用驗證AWS SES API的電子郵件地址。

http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-email-addresses.html

+0

您好,我閱讀文檔http://docs.aws .amazon.com /秒es/latest/DeveloperGuide/verify-email-addresses.html,但沒有找到任何關於如何重新發送電子郵件驗證,如果他們沒有收到電子郵件 – tonoslfx

+0

你想從控制檯或從API重新發送? – error2007s

+0

我想通過API重新發送電子郵件驗證 – tonoslfx

0

驗證電子郵件

 //connect Amazon SES 
    $ses = new SimpleEmailService($this->AccessKey, $this->SecretKey,'email.eu-west-1.amazonaws.com'); 

    //Get verified mail list 
    $list = $ses->listVerifiedEmailAddresses(); 
    //verify email 
    $confirm = $ses->verifyEmailAddress('[email protected]'); 

設置主題驗證電子郵件後

$ses = Aws\Ses\SesClient::factory([ 
      'credentials' => [ 
       'key' => $this->AccessKey, 
       'secret' => $this->SecretKey, 
      ], 
      'version' => 'latest', 
      'region' => 'eu-west-1' 
     ]); 


     $ses_client = $ses->setIdentityNotificationTopic(array(
      'Identity' => $email, 
      'NotificationType' => 'Bounce', 
      'SnsTopic' => 'arn:aws:sns' 
     )); 

     $ses_client = $ses->setIdentityNotificationTopic(array(
      'Identity' => $email, 
      'NotificationType' => 'Complaint', 
      'SnsTopic' => 'arn:aws:sns' 
     )); 
相關問題