使用 Amazon SES API 和Amazon SDK for PHP版本 3 - Amazon SDK for PHP
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

使用 Amazon SES API 和Amazon SDK for PHP版本 3

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

以下示例演示如何:

Amazon SDK for PHPGitHub 上提供了的所有示例代码。

凭证

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

有关使用 Amazon SES 的更多信息,请参阅Amazon SES 开发人员指南.

创建电子邮件筛选条件

要允许或阻止来自特定 IP 地址的电子邮件,请使用 CreateReceiptFilter 操作。提供 IP 地址或地址范围以及唯一名称来标识此筛选条件。

导入

require 'vendor/autoload.php'; use Aws\Ses\SesClient; 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"; }

列出所有电子邮件筛选条件

列出与您的关联的 IP 地址筛选器Amazon当前账户Amazon区域,请使用ListReceiptFiltersoperation.

导入

require 'vendor/autoload.php'; use Aws\Ses\SesClient; 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\Ses\SesClient; 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"; }