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:
-
Buat pengirim resmi menggunakan PutIdentityPolicy.
-
Ambil kebijakan untuk pengirim yang berwenang menggunakan. GetIdentityPolicies
-
Daftar pengirim resmi menggunakan ListIdentityPolicies.
-
Mencabut izin untuk pengirim yang berwenang menggunakan. DeleteIdentityPolicy
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"; }