

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 untuk PHP
<a name="ses-sender-policy"></a>

Untuk mengaktifkan AWS Identity and Access Management pengguna Akun 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.](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html)

Contoh berikut menunjukkan cara:
+ Buat pengirim resmi menggunakan [PutIdentityPolicy](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-email-2010-12-01.html#createidentitypolicy).
+ Ambil kebijakan untuk pengirim yang berwenang menggunakan. [GetIdentityPolicies](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-email-2010-12-01.html#getidentitypolicies)
+ Daftar pengirim resmi menggunakan [ListIdentityPolicies](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-email-2010-12-01.html#listidentitypolicies).
+ Mencabut izin untuk pengirim yang berwenang menggunakan. [DeleteIdentityPolicy](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-email-2010-12-01.html#deleteidentitypolicy)

Semua kode contoh untuk AWS SDK untuk PHP tersedia [di sini GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php/example_code).

## Kredensial
<a name="examplecredentials"></a>

Sebelum menjalankan kode contoh, konfigurasikan AWS kredenal Anda, seperti yang dijelaskan dalam. [Mengautentikasi dengan AWS menggunakan AWS SDK untuk PHP Versi 3](credentials.md) Kemudian impor AWS SDK untuk PHP, seperti yang dijelaskan dalam[Menginstal AWS SDK untuk PHP Versi 3](getting-started_installation.md).

Untuk informasi selengkapnya tentang penggunaan Amazon SES, lihat [Panduan Pengembang Amazon SES](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/).

## Buat pengirim resmi
<a name="create-an-authorized-sender"></a>

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 [PutIdentityPolicy](https://docs.aws.amazon.com/ses/latest/APIReference/API_PutIdentityPolicy.html)operasi.

 **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
<a name="retrieve-polices-for-an-authorized-sender"></a>

Kembalikan kebijakan otorisasi pengiriman yang terkait dengan identitas email atau identitas domain tertentu. Untuk mendapatkan otorisasi pengiriman untuk alamat email atau domain tertentu, gunakan [GetIdentityPolicy](https://docs.aws.amazon.com/ses/latest/APIReference/API_GetIdentityPolicy.html)operasi.

 **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
<a name="list-authorized-senders"></a>

Untuk mencantumkan kebijakan otorisasi pengiriman yang terkait dengan identitas email atau identitas domain tertentu di AWS Wilayah saat ini, gunakan [ListIdentityPolicies](https://docs.aws.amazon.com/ses/latest/APIReference/API_ListIdentityPolicies.html)operasi.

 **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
<a name="revoke-permission-for-an-authorized-sender"></a>

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](https://docs.aws.amazon.com/ses/latest/APIReference/API_DeleteIdentityPolicy.html)

 **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";
}
```