本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Amazon SES API 和Amazon SDK for PHP版本 3
除了发送电子邮件之外,您还可以使用 Amazon Simple Email Service(Amazon SES)接收电子邮件。IP 地址筛选条件让您能够选择指定是接受还是拒绝来自某个 IP 地址或 IP 地址范围的邮件。有关更多信息,请参阅为 Amazon SES 电子邮件接收管理 IP 地址筛选条件。
以下示例演示如何:
-
使用 CreateReceiptFilter 创建电子邮件筛选条件。
-
使用 ListReceiptFilters 列出所有电子邮件筛选条件。
-
使用 DeleteReceiptFilter 删除电子邮件筛选条件。
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"; }