Membuat template email khusus menggunakan Amazon SES API dan AWS SDK for PHP Versi 3 - AWS SDK for PHP

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Membuat template email khusus menggunakan Amazon SES API dan AWS SDK for PHP Versi 3

Amazon Simple Email Service (Amazon SES) memungkinkan Anda mengirim email yang dipersonalisasi untuk setiap penerima dengan menggunakan templat. Template mencakup baris subjek dan teks dan bagian HTML dari badan email. Bagian subjek dan tubuh juga dapat berisi nilai unik yang dipersonalisasi untuk setiap penerima.

Untuk informasi selengkapnya, lihat Mengirim Email yang Dipersonalisasi Menggunakan Amazon SES di Panduan Pengembang Layanan Email Sederhana Amazon.

Contoh berikut menunjukkan cara:

Semua kode contoh untuk AWS SDK for PHP tersedia di sini GitHub.

Kredensial

Sebelum menjalankan kode contoh, konfigurasikan AWS kredenal Anda, seperti yang dijelaskan dalam. Kredensial Kemudian imporAWS SDK for PHP, seperti yang dijelaskan dalamPenggunaan dasar.

Untuk informasi selengkapnya tentang penggunaan Amazon SES, lihat Panduan Pengembang Amazon SES.

Buat template email

Untuk membuat template untuk mengirim pesan email yang dipersonalisasi, gunakan CreateTemplateoperasi. Template dapat digunakan oleh akun apa pun yang berwenang untuk mengirim pesan di AWS Wilayah tempat templat ditambahkan.

catatan

Amazon SES tidak memvalidasi HTML Anda, jadi pastikan HtmlPartitu valid sebelum mengirim email.

Impor

require 'vendor/autoload.php'; use Aws\Exception\AwsException;

Kode Sampel

$SesClient = new Aws\Ses\SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-2' ]); $name = 'Template_Name'; $html_body = '<h1>AWS Amazon Simple Email Service Test Email</h1>' . '<p>This email was sent with <a href="https://aws.amazon.com/ses/">' . 'Amazon SES</a> using the <a href="https://aws.amazon.com/sdk-for-php/">' . 'AWS SDK for PHP</a>.</p>'; $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"; }

Dapatkan template email

Untuk melihat konten untuk template email yang ada termasuk baris subjek, isi HTML, dan teks biasa, gunakan GetTemplateoperasi. Hanya TemplateName diperlukan.

Impor

require 'vendor/autoload.php'; use Aws\Exception\AwsException;

Kode Sampel

$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"; }

Daftar semua template email

Untuk mengambil daftar semua template email yang terkait dengan Anda Akun AWS di AWS Wilayah saat ini, gunakan ListTemplatesoperasi.

Impor

require 'vendor/autoload.php'; use Aws\Exception\AwsException;

Kode Sampel

$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"; }

Perbarui template email

Untuk mengubah konten untuk template email tertentu termasuk baris subjek, isi HTML, dan teks biasa, gunakan UpdateTemplateoperasi.

Impor

require 'vendor/autoload.php'; use Aws\Exception\AwsException;

Kode Sampel

$SesClient = new Aws\Ses\SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-2' ]); $name = 'Template_Name'; $html_body = '<h1>AWS Amazon Simple Email Service Test Email</h1>' . '<p>This email was sent with <a href="https://aws.amazon.com/ses/">' . 'Amazon SES</a> using the <a href="https://aws.amazon.com/sdk-for-php/">' . 'AWS SDK for PHP</a>.</p>'; $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"; }

Hapus template email

Untuk menghapus template email tertentu, gunakan DeleteTemplateoperasi. Yang Anda butuhkan hanyalah TemplateName.

Impor

require 'vendor/autoload.php'; use Aws\Exception\AwsException;

Kode Sampel

$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"; }

Kirim email dengan template

Untuk menggunakan templat untuk mengirim email ke penerima, gunakan SendTemplatedEmailoperasi.

Impor

require 'vendor/autoload.php'; use Aws\Exception\AwsException;

Kode Sampel

$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' => $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"; }