

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Autorização de remetentes usando a API do Amazon SES e o AWS SDK para PHP versão 3
<a name="ses-sender-policy"></a>

Para habilitar outra Conta da AWS, usuário do AWS Identity and Access Management ou serviço da AWS a enviar e-mails por meio do Amazon Simple Email Service (Amazon SES) em seu nome, crie uma política de autorização de envio. Este é um documento JSON que você deve anexar a uma identidade que possui.

A política lista expressamente quem você permite que envie para essa identidade e em que condições. Com exceção de você e das entidades às quais concedeu permissões explicitamente na política, todos os demais remetentes não estão autorizados a enviar e-mails. Uma identidade pode ter nenhuma política, uma política ou várias políticas anexadas a ela. Você também pode ter uma política com várias instruções para alcançar o efeito de várias políticas.

Para obter mais informações, consulte [Como usar a autorização de envio com o Amazon SES](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).

Os exemplos a seguir mostram como:
+ Crie um remetente autorizado com o [PutIdentityPolicy](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-email-2010-12-01.html#createidentitypolicy).
+ Recupere políticas para um remetente autorizado com o [GetIdentityPolicies](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-email-2010-12-01.html#getidentitypolicies).
+ Liste os remetentes autorizados com o [ListIdentityPolicies](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-email-2010-12-01.html#listidentitypolicies).
+ Revogue permissão para um remetente autorizado com o [DeleteIdentityPolicy](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-email-2010-12-01.html#deleteidentitypolicy).

O código de exemplo completo do AWS SDK para PHP está disponível [aqui no GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php/example_code).

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

Antes de executar o código de exemplo, configure suas credenciais da AWS, conforme descrito em [Autenticando com o AWS uso da AWS SDK para PHP versão 3](credentials.md). Em seguida, importe o AWS SDK para PHP, conforme descrito em [Instalando a AWS SDK para PHP versão 3](getting-started_installation.md).

Para obter mais informações sobre o uso do Amazon SES, consulte o [Guia do desenvolvedor do Amazon SES](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/).

## Criar um remetente autorizado
<a name="create-an-authorized-sender"></a>

Para autorizar outra Conta da AWS a enviar e-mails em seu nome, utilize uma política de identidade para adicionar ou atualizar a autorização referente ao envio de e-mails de seus endereços de e-mail ou domínios verificados. Para criar uma política de identidades, utilize a operação [PutIdentityPolicy](https://docs.aws.amazon.com/ses/latest/APIReference/API_PutIdentityPolicy.html).

 **Importações** 

```
require 'vendor/autoload.php';

use Aws\Exception\AwsException;
use Aws\Ses\SesClient;
```

 **Código de exemplo** 

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

## Recuperar políticas para um remetente autorizado
<a name="retrieve-polices-for-an-authorized-sender"></a>

Retorne as políticas de autorização de envio que são associadas a uma identidade de e-mail ou identidade de domínio específica. Para obter a autorização de envio para um determinado endereço de e-mail ou domínio, utilize a operação [GetIdentityPolicy](https://docs.aws.amazon.com/ses/latest/APIReference/API_GetIdentityPolicy.html).

 **Importações** 

```
require 'vendor/autoload.php';

use Aws\Exception\AwsException;
use Aws\Ses\SesClient;
```

 **Código de exemplo** 

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

## Listar remetentes autorizados
<a name="list-authorized-senders"></a>

Para listar as políticas de autorização de envio que são associadas a uma identidade de e-mail ou identidade de domínio específica na região atual da AWS, utilize a operação [ListIdentityPolicies](https://docs.aws.amazon.com/ses/latest/APIReference/API_ListIdentityPolicies.html).

 **Importações** 

```
require 'vendor/autoload.php';

use Aws\Exception\AwsException;
use Aws\Ses\SesClient;
```

 **Código de exemplo** 

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

## Revogar permissão para um remetente autorizado
<a name="revoke-permission-for-an-authorized-sender"></a>

Exclua a autorização de envio concedida a outra Conta da AWS para o envio de e-mails com uma identidade de e-mail ou identidade de domínio ao remover a política de identidade associada por meio da operação [DeleteIdentityPolicy](https://docs.aws.amazon.com/ses/latest/APIReference/API_DeleteIdentityPolicy.html).

 **Importações** 

```
require 'vendor/autoload.php';

use Aws\Exception\AwsException;
use Aws\Ses\SesClient;
```

 **Código de exemplo** 

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