Amazon SES API および AWS SDK for PHP バージョン 3 を使用した E メールアイデンティティの検証 - AWS SDK for PHP

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon SES API および AWS SDK for PHP バージョン 3 を使用した E メールアイデンティティの検証

初めて Amazon Simple Email Service (Amazon SES) アカウントを使用し始めるとき、E メールの送信先となる同じ AWS リージョン内のすべての送信者と受取人を確認する必要があります。E メール送信の詳細については、「Amazon SES を使用してメールを送信する」を参照してください。

以下の例では、次の方法を示しています。

  • を使用して E メールアドレスを検証しますVerifyEmailIdentity

  • を使用して E メールドメインを検証しますVerifyDomainIdentity

  • を使用してすべての E メールアドレスを一覧表示しますListIdentities

  • を使用してすべての E メールドメインを一覧表示しますListIdentities

  • を使用して E メールアドレスを削除しますDeleteIdentity

  • を使用して E メールドメインを削除しますDeleteIdentity

のすべてのサンプルコードAWS SDK for PHPは、 にあります GitHub

認証情報

サンプルコードを実行する前に、AWS の認証情報を設定します (認証情報 を参照)。AWS SDK for PHP からのインポート (基本的な使用法 を参照)。

Amazon SES の使用の詳細については、「Amazon SES デベロッパーガイド」を参照してください。

E メールアドレスを検証する

Amazon SES は、確認済み E メールアドレスまたはドメインからのみ E メールを送信できます。E メールアドレスを確認することで、そのアドレスの所有者であることを示し、そのアドレスから E メールを送信することを Amazon SES に許可します。

以下のコード例を実行すると、指定したアドレスに Amazon SES により E メールが送信されます。お客様 (または E メールの受取人) が E メール内のリンクをクリックすると、アドレスが確認されます。

Amazon SES アカウントに E メールアドレスを追加するには、 VerifyEmailIdentityオペレーションを使用します。

インポート

require 'vendor/autoload.php'; use Aws\Exception\AwsException;

サンプルコード

$SesClient = new Aws\Ses\SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-2' ]); $email = 'email_address'; try { $result = $SesClient->verifyEmailIdentity([ 'EmailAddress' => $email, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

E メールドメインを検証する

Amazon SES は、確認済み E メールアドレスまたはドメインからのみ E メールを送信できます。ドメインを確認することで、そのドメインの所有者であることを示します。ドメインを検証すると、そのドメインの任意のアドレスからの E メールの送信を Amazon SES に許可します。

以下のコード例を実行すると、Amazon SES により検証トークンが提供されます。ドメインの DNS 設定にトークンを追加する必要があります。詳細については、「Amazon Simple Email Service デベロッパーガイド」の「Amazon SES でのドメインの検証」を参照してください。

Amazon SES アカウントに送信ドメインを追加するには、 VerifyDomainIdentityオペレーションを使用します。

インポート

require 'vendor/autoload.php'; use Aws\Exception\AwsException;

サンプルコード

$SesClient = new Aws\Ses\SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-2' ]); $domain = 'domain.name'; try { $result = $SesClient->verifyDomainIdentity([ 'Domain' => $domain, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

E メールアドレスをリストする

検証ステータスに関係なく、現在のAWSリージョンで送信された E メールアドレスのリストを取得するには、 ListIdentitiesオペレーションを使用します。

インポート

require 'vendor/autoload.php'; use Aws\Exception\AwsException;

サンプルコード

$SesClient = new Aws\Ses\SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-2' ]); try { $result = $SesClient->listIdentities([ 'IdentityType' => 'EmailAddress', ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

E メールドメインをリストする

検証ステータスに関係なく、現在のAWSリージョンで送信された E メールドメインのリストを取得するには、 ListIdentitiesオペレーションを使用します。

インポート

require 'vendor/autoload.php'; use Aws\Exception\AwsException;

サンプルコード

$SesClient = new Aws\Ses\SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-2' ]); try { $result = $SesClient->listIdentities([ 'IdentityType' => 'Domain', ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

E メールアドレスを削除する

ID のリストから検証済み E メールアドレスを削除するには、 DeleteIdentityオペレーションを使用します。

インポート

require 'vendor/autoload.php'; use Aws\Exception\AwsException;

サンプルコード

$SesClient = new Aws\Ses\SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-2' ]); $email = 'email_address'; try { $result = $SesClient->deleteIdentity([ 'Identity' => $email, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

E メールドメインを削除する

検証済み ID のリストから検証済み E メールドメインを削除するには、 DeleteIdentityオペレーションを使用します。

インポート

require 'vendor/autoload.php'; use Aws\Exception\AwsException;

サンプルコード

$SesClient = new Aws\Ses\SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-2' ]); $domain = 'domain.name'; try { $result = $SesClient->deleteIdentity([ 'Identity' => $domain, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }