Amazon SES API および AWS SDK for PHP バージョン 3 を使用した E メールフィルターの管理 - AWS SDK for PHP

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

Amazon SES API および AWS SDK for PHP バージョン 3 を使用した E メールフィルターの管理

E メールの送信に加えて、Amazon Simple Email Service (Amazon SES) を使用して E メールを受信することもできます。IP アドレスフィルタを使用すると、オプションで、特定の IP アドレスまたは IP アドレス範囲から送信されるメールを受け入れるか拒否するかを指定できます。詳細については、「Amazon SES による E メール受信の IP アドレスフィルターの管理」を参照してください。

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

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

認証情報

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

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

E メールフィルターを作成する

特定の IP アドレスからの E メールを許可またはブロックするには、 CreateReceiptFilterオペレーションを使用します。このフィルターを識別するための IP アドレスまたはアドレスの範囲と、一意の名前入力します。

インポート

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

サンプルコード

$SesClient = new Aws\Ses\SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-2' ]); $filter_name = 'FilterName'; $ip_address_range = '10.0.0.1/24'; try { $result = $SesClient->createReceiptFilter([ 'Filter' => [ 'IpFilter' => [ 'Cidr' => $ip_address_range, 'Policy' => 'Block|Allow', ], 'Name' => $filter_name, ], ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

すべての E メールフィルターをリストする

現在のAWSリージョンAWS アカウントの に関連付けられている IP アドレスフィルターを一覧表示するには、 ListReceiptFiltersオペレーションを使用します。

インポート

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->listReceiptFilters(); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

E メールフィルターを削除する

特定の IP アドレスの既存のフィルターを削除するには、 DeleteReceiptFilterオペレーションを使用します。削除する受信フィルターを識別するための一意のフィルター名を入力します。

フィルタリングされるアドレス範囲を変更する必要がある場合、受信フィルターを削除して新たに作成することができます。

インポート

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

サンプルコード

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