Autorizzazione di mittenti tramite l'API Amazon SES eAWS SDK for PHPVersione 3 - AWS SDK for PHP

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 di mittenti tramite l'API Amazon SES eAWS SDK for PHPVersione 3

Per abilitare un altroAWSconto,AWS Identity and Access Managementutente oAWSper l'invio di e-mail tramite Amazon Simple Email Service (Amazon SES) a tuo nome, è necessario creare una policy 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.

Gli esempi seguenti mostrano come:

La versione integrale del codice di esempio di AWS SDK for PHP è disponibile qui su GitHub.

Credenziali

Prima di eseguire il codice di esempio, configura ilAWScredenziali come descritto inImpostazione delle credenziali . Quindi importaAWS SDK for PHPcome descritto nellaUtilizzo di base.

Per maggiori informazioni sull'utilizzo di Amazon SES, consultaGuida per gli sviluppatori Amazon SES.

Crea un mittente autorizzato

Per autorizzarne un altroAWSper l'invio di e-mail a tuo nome, utilizza una policy di identità per aggiungere o aggiornare l'autorizzazione all'invio di e-mail da indirizzi e-mail o domini verificati. Per creare una policy di identità, utilizza l'operazione PutIdentityPolicy.

Importazioni

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

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 i criteri per un mittente autorizzato

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 e-mail o dominio, utilizza l'operazione GetIdentityPolicy.

Importazioni

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

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

Elenco dei mittenti autorizzati

Per elencare le policy di autorizzazione all'invio associate a una specifica identità e-mail o a un'identità di dominio nella correnteAWSRegion (regione), utilizzaListIdentityPoliciesoperazione.

Importazioni

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

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 dell'autorizzazione per un mittente autorizzato

Rimuovi l'autorizzazione di invio per un altroAWSaccount per l'invio di e-mail con un'identità e-mail o dominio eliminando la policy di identità associata conDeleteIdentityPolicyoperazione.

Importazioni

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

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