Autorisation des expéditeurs à l'aide de l'API Amazon SES et de la version 3 AWS SDK for PHP - AWS SDK for PHP

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Autorisation des expéditeurs à l'aide de l'API Amazon SES et de la version 3 AWS SDK for PHP

Pour permettre à un autreCompte AWS, à un AWS Identity and Access Management utilisateur ou à un AWS service d'envoyer des e-mails via Amazon Simple Email Service (Amazon SES) en votre nom, vous devez créer une politique d'autorisation d'envoi. Il s’agit d’un document JSON que vous attachez à une identité dont vous êtes propriétaire.

La stratégie mentionne expressément les entités que vous autorisez à effectuer des envois pour cette identité, ainsi que les conditions associées. Tous les expéditeurs, autres que vous et les entités auxquelles vous accordez explicitement des autorisations dans la stratégie, ne sont pas autorisés à envoyer des e-mails. Une identité peut avoir zéro, une ou plusieurs stratégies attachées. Une stratégie peut également contenir plusieurs instructions pour produire l'effet de plusieurs stratégies.

Pour plus d’informations, consultez la page Utilisation de l’autorisation d’envoi avec Amazon SES.

Les exemples suivants montrent comment :

Tous les exemples de code pour le AWS SDK for PHP sont disponibles ici GitHub.

Informations d’identification

Avant d'exécuter l'exemple de code, configurez vos AWS informations d'identification, comme décrit dansInformations d'identification. Importez ensuite leAWS SDK for PHP, comme décrit dansUtilisation de base.

Pour plus d'informations sur l'utilisation d'Amazon SES, consultez le manuel du développeur Amazon SES.

Création d'un expéditeur autorisé

Pour autoriser une autre Compte AWS personne à envoyer des e-mails en votre nom, utilisez une politique d'identité pour ajouter ou mettre à jour l'autorisation d'envoyer des e-mails à partir de vos adresses e-mail ou domaines vérifiés. Pour créer une politique d'identité, utilisez l'PutIdentityPolicyopération.

Importations

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

Exemple de code

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

Récupérez les politiques d'un expéditeur autorisé

Renvoyez les stratégies d’autorisation d’envoi associées à une identité d’e-mail spécifique ou à une identité de domaine. Pour obtenir l'autorisation d'envoi pour une adresse e-mail ou un domaine donné, utilisez l'GetIdentityPolicyopération.

Importations

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

Exemple de code

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

Répertorier les expéditeurs autorisés

Pour répertorier les politiques d'autorisation d'envoi associées à une identité e-mail ou à une identité de domaine spécifique dans la AWS région actuelle, utilisez l'ListIdentityPoliciesopération.

Importations

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

Exemple de code

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

Révoquer l'autorisation d'un expéditeur autorisé

Supprimez l'autorisation d'envoi permettant Compte AWS à une autre personne d'envoyer des e-mails avec une identité e-mail ou une identité de domaine en supprimant la politique d'identité associée à l'DeleteIdentityPolicyopération.

Importations

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

Exemple de code

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