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

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

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

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

以下示例演示如何:

的所有示例代码AmazonSDK for PHP 版本 3(位于 GitHub 上).

Credentials

运行示例代码之前,请配置Amazon凭证的第一个版本,如的凭证AmazonSDK for PHP 版本 3. 然后导入AmazonSDK for PHP,如的基本使用模式AmazonSDK for PHP 版本 3.

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

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

要列出与您的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"; }