本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Amazon SES API 和 适用于 PHP 的 AWS SDK 版本 3 来管理电子邮件筛选条件
除了发送电子邮件外,您还可以使用 Amazon Simple Email Service (Amazon SES) 来接收电子邮件。IP 地址筛选条件让您能够选择指定是接受还是拒绝来自某个 IP 地址或 IP 地址范围的邮件。有关更多信息,请参阅为 Amazon SES 电子邮件接收管理 IP 地址筛选条件。
以下示例演示如何:
-
使用 CreateReceiptFilter 创建电子邮件筛选条件。
-
使用 ListReceiptFilters 列出所有电子邮件筛选条件。
-
使用 DeleteReceiptFilter 删除电子邮件筛选条件。
适用于 PHP 的 AWS SDKGitHub 上提供了
凭证
运行示例代码之前,请配置您的 AWS 凭证,如 AWS 使用 适用于 PHP 的 AWS SDK 版本 3 进行身份验证 中所述。然后导入 适用于 PHP 的 AWS SDK,如 安装适用于 PHP 的 AWS SDK 版本 3 中所述。
有关使用 Amazon SES 的更多信息,请参阅 Amazon SES 开发人员指南。
创建电子邮件筛选条件
要允许或阻止来自特定 IP 地址的电子邮件,请使用 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"; }
列出所有电子邮件筛选条件
要列出当前 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"; }
删除电子邮件筛选条件
要删除特定 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"; }