Mengotorisasi pengirim menggunakan Amazon SES API dan Versi 3 AWS SDK for PHP - AWS SDK for PHP

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

Mengotorisasi pengirim menggunakan Amazon SES API dan Versi 3 AWS SDK for PHP

Untuk mengaktifkan AWS Identity and Access Management penggunaAkun AWS, pengguna, atau AWS layanan lain mengirim email melalui Amazon Simple Email Service (Amazon SES) atas nama Anda, Anda membuat kebijakan otorisasi pengiriman. Ini adalah dokumen JSON yang Anda lampirkan ke identitas yang Anda miliki.

Kebijakan ini secara tegas mencantumkan siapa yang Anda izinkan untuk dikirim untuk identitas itu, dan dalam kondisi apa. Semua pengirim, selain Anda dan entitas yang Anda berikan izin secara eksplisit dalam kebijakan, tidak diizinkan mengirim email. Identitas dapat tidak memiliki kebijakan, satu kebijakan, atau beberapa kebijakan yang terlampir padanya. Anda juga dapat memiliki satu kebijakan dengan beberapa pernyataan untuk mencapai efek dari beberapa kebijakan.

Untuk informasi selengkapnya, lihat Menggunakan Otorisasi Mengirim dengan Amazon SES.

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 pengirim resmi

Untuk mengizinkan orang lain Akun AWS mengirim email atas nama Anda, gunakan kebijakan identitas untuk menambah atau memperbarui otorisasi untuk mengirim email dari alamat email atau domain terverifikasi Anda. Untuk membuat kebijakan identitas, gunakan PutIdentityPolicyoperasi.

Impor

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

Kode Sampel

$SesClient = new SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-1' ]); $identity = "arn:aws:ses:us-east-1:123456789012:identity/example.com"; $other_aws_account = "0123456789"; $policy = <<<EOT { "Id":"ExampleAuthorizationPolicy", "Version":"2012-10-17", "Statement":[ { "Sid":"AuthorizeAccount", "Effect":"Allow", "Resource":"$identity", "Principal":{ "AWS":[ "$other_aws_account" ] }, "Action":[ "SES:SendEmail", "SES:SendRawEmail" ] } ] } EOT; $name = "policyName"; try { $result = $SesClient->putIdentityPolicy([ 'Identity' => $identity, 'Policy' => $policy, 'PolicyName' => $name, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

Mengambil kebijakan untuk pengirim resmi

Kembalikan kebijakan otorisasi pengiriman yang terkait dengan identitas email atau identitas domain tertentu. Untuk mendapatkan otorisasi pengiriman untuk alamat email atau domain tertentu, gunakan GetIdentityPolicyoperasi.

Impor

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

Kode Sampel

$SesClient = new SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-1' ]); $identity = "arn:aws:ses:us-east-1:123456789012:identity/example.com"; $policies = ["policyName"]; try { $result = $SesClient->getIdentityPolicies([ 'Identity' => $identity, 'PolicyNames' => $policies, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

Daftar pengirim resmi

Untuk mencantumkan kebijakan otorisasi pengiriman yang terkait dengan identitas email atau identitas domain tertentu di AWS Wilayah saat ini, gunakan ListIdentityPoliciesoperasi.

Impor

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

Kode Sampel

$SesClient = new SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-1' ]); $identity = "arn:aws:ses:us-east-1:123456789012:identity/example.com"; try { $result = $SesClient->listIdentityPolicies([ 'Identity' => $identity, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

Mencabut izin untuk pengirim yang berwenang

Hapus otorisasi pengiriman Akun AWS untuk orang lain untuk mengirim email dengan identitas email atau identitas domain dengan menghapus kebijakan identitas terkait dengan operasi. DeleteIdentityPolicy

Impor

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

Kode Sampel

$SesClient = new SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-1' ]); $identity = "arn:aws:ses:us-east-1:123456789012:identity/example.com"; $name = "policyName"; try { $result = $SesClient->deleteIdentityPolicy([ 'Identity' => $identity, 'PolicyName' => $name, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }