使用 Amazon SES API 和 AWS SDK for PHP 版本 3 来管理电子邮件筛选条件 - AWS SDK for PHP

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Amazon SES API 和 AWS SDK for PHP 版本 3 来管理电子邮件筛选条件

除了发送电子邮件外,您还可以使用 Amazon Simple Email Service (Amazon SES) 来接收电子邮件。IP 地址筛选条件让您能够选择指定是接受还是拒绝来自某个 IP 地址或 IP 地址范围的邮件。有关更多信息,请参阅为 Amazon SES 电子邮件接收管理 IP 地址筛选条件

以下示例演示如何:

的所有示例代码都可以在此AWS SDK for PHP处找到 GitHub

凭证

运行示例代码之前,请配置您的 AWS 凭证,如 凭证 中所述。然后导入 AWS SDK for PHP,如 基本用法 中所述。

有关使用 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"; }