

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Autorizzazione dei mittenti tramite l'API Amazon SES e la versione 3 AWS SDK per PHP
<a name="ses-sender-policy"></a>

Per consentire a un altro Account AWS AWS Identity and Access Management utente o AWS servizio di inviare e-mail tramite Amazon Simple Email Service (Amazon SES) Simple Email Service (Amazon SES) per tuo conto, devi creare una politica di autorizzazione all'invio. Questo è un documento in formato JSON che viene associato a un'identità di proprietà dell'utente.

La policy elenca in modo esplicito gli utenti a cui permetti di inviare e-mail per l'identità e in quali condizioni. A tutti i mittenti, eccetto te e le entità a cui concedi le autorizzazioni in modo esplicito nelle policy, non verrà concesso di inviare e-mail. A un'identità possono essere collegate nessuna, una o più policy. Puoi anche definire un'unica policy con più istruzioni per ottenere l'effetto di più policy.

Per ulteriori informazioni, consulta [Utilizzo delle autorizzazioni all'invio con Amazon SES](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html).

Gli esempi seguenti mostrano come:
+ Crea un mittente autorizzato utilizzando [PutIdentityPolicy](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-email-2010-12-01.html#createidentitypolicy).
+ Recupera le politiche per un mittente autorizzato utilizzando. [GetIdentityPolicies](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-email-2010-12-01.html#getidentitypolicies)
+ Elenca i mittenti autorizzati utilizzando. [ListIdentityPolicies](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-email-2010-12-01.html#listidentitypolicies)
+ Revoca l'autorizzazione per un mittente autorizzato utilizzando. [DeleteIdentityPolicy](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-email-2010-12-01.html#deleteidentitypolicy)

[Tutto il codice di esempio per il AWS SDK per PHP è disponibile qui. GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php/example_code)

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

Prima di eseguire il codice di esempio, configurate AWS le vostre credenziali, come descritto in[Autenticazione con l' AWS utilizzo AWS SDK per PHP della versione 3](credentials.md). Quindi importate il file AWS SDK per PHP, come descritto in[Installazione della AWS SDK per PHP versione 3](getting-started_installation.md).

Per ulteriori informazioni sull'uso di Amazon SES, consulta la [Amazon SES Developer Guide](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/).

## Crea un mittente autorizzato
<a name="create-an-authorized-sender"></a>

Per autorizzare un altro utente Account AWS a inviare e-mail per tuo conto, utilizza una politica di identità per aggiungere o aggiornare l'autorizzazione all'invio di e-mail dai tuoi indirizzi e-mail o domini verificati. Per creare una politica di identità, usa l'[PutIdentityPolicy](https://docs.aws.amazon.com/ses/latest/APIReference/API_PutIdentityPolicy.html)operazione.

 **Importazioni** 

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

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

 **Codice di esempio** 

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

## Recupera le politiche per un mittente autorizzato
<a name="retrieve-polices-for-an-authorized-sender"></a>

Restituisci le policy di autorizzazione all'invio associate a una specifica identità e-mail o a un'identità di dominio. Per ottenere l'autorizzazione all'invio per un determinato indirizzo email o dominio, usa l'operazione. [GetIdentityPolicy](https://docs.aws.amazon.com/ses/latest/APIReference/API_GetIdentityPolicy.html)

 **Importazioni** 

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

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

 **Codice di esempio** 

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

## Elenca i mittenti autorizzati
<a name="list-authorized-senders"></a>

Per elencare le politiche di autorizzazione all'invio associate a un'identità di posta elettronica o a un'identità di dominio specifica AWS nella regione corrente, utilizza l'[ListIdentityPolicies](https://docs.aws.amazon.com/ses/latest/APIReference/API_ListIdentityPolicies.html)operazione.

 **Importazioni** 

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

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

 **Codice di esempio** 

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

## Revoca l'autorizzazione per un mittente autorizzato
<a name="revoke-permission-for-an-authorized-sender"></a>

Rimuovi l'autorizzazione di invio Account AWS a un altro utente a inviare e-mail con un'identità di posta elettronica o un'identità di dominio eliminando la politica di identità associata all'operazione. [DeleteIdentityPolicy](https://docs.aws.amazon.com/ses/latest/APIReference/API_DeleteIdentityPolicy.html)

 **Importazioni** 

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

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

 **Codice di esempio** 

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