php amazon api,使用 Amazon SES API 和 AWS SDK for PHP 版本 3 创建自定义电子邮件模板 - 适用于 PHP 的 AWS 开发工具包...

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

使用 Amazon SES API 和 AWS SDK for PHP 版本 3 创建自定义电子邮件模板

Amazon Simple Email Service (Amazon SES) 让您可以通过使用电子邮件模板,向各个收件人发送个性化的电子邮件。模板包含一个主题行以及电子邮件正文的文本和

HTML 部分。主题和正文部分还可包含针对每个收件人进行个性化设置的唯一值。

有关更多信息,请参阅 Amazon SES Developer Guide中的使用 Amazon SES 发送个性化电子邮件。

以下示例演示如何:

版本 3 的所有示例代码在 AWS SDK for PHP 上的此处提供。GitHub

Credentials

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

创建电子邮件模板

要创建模板以发送个性化电子邮件,请使用 CreateTemplate 操作。在该模板所添加到的 AWS 区域中,模板可由授权发送电子邮件的任意账户使用。

注意

Amazon SES 不会验证您的 HTML,因此请先确保 HtmlPart 有效,然后再发送电子邮件。

导入

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'

]);

$name = 'Template_Name';

$html_body = '

AWS Amazon Simple Email Service Test Email

' .

'

This email was sent with ' .

'Amazon SES using the ' .

'AWS SDK for PHP.

';

$subject = 'Amazon SES test (AWS SDK for PHP)';

$plaintext_body = 'This email was send with Amazon SES using the AWS SDK for PHP.';

try {

$result = $SesClient->createTemplate([

'Template' => [

'HtmlPart' => $html_body,

'SubjectPart' => $subject,

'TemplateName' => $name,

'TextPart' => $plaintext_body,

],

]);

var_dump($result);

} catch (AwsException $e) {

// output error message if fails

echo $e->getMessage();

echo "\n";

}

获取电子邮件模板

要查看现有电子邮件模板(包括主题行、HTML 正文和纯文本)的内容,请使用 GetTemplate 操作。只有 TemplateName 是必需的。

导入

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'

]);

$name = 'Template_Name';

try {

$result = $SesClient->getTemplate([

'TemplateName' => $name,

]);

var_dump($result);

} catch (AwsException $e) {

// output error message if fails

echo $e->getMessage();

echo "\n";

}

列出所有电子邮件模板

要检索与当前 AWS 区域中的 AWS 账户关联的所有电子邮件模板列表,请使用 ListTemplates 操作。

导入

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->listTemplates([

'MaxItems' => 10,

]);

var_dump($result);

} catch (AwsException $e) {

// output error message if fails

echo $e->getMessage();

echo "\n";

}

更新电子邮件模板

要更改特定电子邮件模板(包括主题行、HTML 正文和纯文本)的内容,请使用 UpdateTemplate 操作。

导入

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'

]);

$name = 'Template_Name';

$html_body = '

AWS Amazon Simple Email Service Test Email

' .

'

This email was sent with ' .

'Amazon SES using the ' .

'AWS SDK for PHP.

';

$subject = 'Amazon SES test (AWS SDK for PHP)';

$plaintext_body = 'This email was send with Amazon SES using the AWS SDK for PHP.';

try {

$result = $SesClient->updateTemplate([

'Template' => [

'HtmlPart' => $html_body,

'SubjectPart' => $subject,

'TemplateName' => $name,

'TextPart' => $plaintext_body,

],

]);

var_dump($result);

} catch (AwsException $e) {

// output error message if fails

echo $e->getMessage();

echo "\n";

}

删除电子邮件模板

要删除特定电子邮件模板,请使用 DeleteTemplate 操作。您只需要 TemplateName 即可。

导入

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'

]);

$name = 'Template_Name';

try {

$result = $SesClient->deleteTemplate([

'TemplateName' => $name,

]);

var_dump($result);

} catch (AwsException $e) {

// output error message if fails

echo $e->getMessage();

echo "\n";

}

使用模板发送电子邮件

要使用模板向收件人发送电子邮件,请使用 SendTemplatedEmail 操作。

导入

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'

]);

$template_name = 'Template_Name';

$sender_email = 'email_address';

$recipient_emails = ['email_address'];

try {

$result = $SesClient->sendTemplatedEmail([

'Destination' => [

'ToAddresses' => $verified_recipient_emails,

],

'ReplyToAddresses' => [$sender_email],

'Source' => $sender_email,

'Template' => $template_name,

'TemplateData' => '{ }'

]);

var_dump($result);

} catch (AwsException $e) {

// output error message if fails

echo $e->getMessage();

echo "\n";

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值