Autorisieren von Absendern mithilfe der Amazon SES SES-API und der Version 3 AWS SDK für PHP - AWS SDK für PHP

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Autorisieren von Absendern mithilfe der Amazon SES SES-API und der Version 3 AWS SDK für PHP

Um es einem anderen AWS-Konto AWS Identity and Access Management Benutzer oder AWS Dienst zu ermöglichen, in Ihrem Namen E-Mails über Amazon Simple Email Service (Amazon SES) zu senden, erstellen Sie eine Versandautorisierungsrichtlinie. Hierbei handelt es sich um ein JSON-Dokument, das Sie einer in Ihrem Besitz befindlichen Identität anfügen.

Die Richtlinie führt explizit auf, wem Sie die Berechtigung erteilen, für diese Identität E-Mails zu senden und unter welchen Bedingungen. Mit Ausnahme von Ihnen und den Entitäten, denen Sie in der Richtlinie ausdrücklich die Berechtigung erteilen, wird allen anderen Sendern das Senden von E-Mails verweigert. Einer Identität kann keine Richtlinie, eine Richtlinie oder mehrere Richtlinien angefügt werden. Eine Richtlinie kann auch mehrere Anweisungen enthalten und so die gleiche Wirkung wie mehrere Richtlinien erzielen.

Weitere Informationen finden Sie unter Verwenden der Sendeautorisierung mit Amazon SES.

In den nachstehenden Beispielen wird Folgendes veranschaulicht:

Der gesamte Beispielcode für AWS SDK für PHP ist hier verfügbar GitHub.

Anmeldeinformationen

Bevor Sie den Beispielcode ausführen, konfigurieren Sie Ihre AWS Anmeldeinformationen wie unter beschriebenAnmeldeinformationen. Importieren Sie dann die AWS SDK für PHP, wie unter beschriebenGrundlegende Verwendung.

Weitere Informationen zur Verwendung von Amazon SES finden Sie im Amazon SES Developer Guide.

Erstellen Sie einen autorisierten Absender

Um eine andere Person AWS-Konto zu autorisieren, in Ihrem Namen E-Mails zu versenden, verwenden Sie eine Identitätsrichtlinie, um die Autorisierung für das Senden von E-Mails von Ihren verifizierten E-Mail-Adressen oder Domains hinzuzufügen oder zu aktualisieren. Verwenden Sie den PutIdentityPolicyVorgang, um eine Identitätsrichtlinie zu erstellen.

Importe

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

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

Rufen Sie Richtlinien für einen autorisierten Absender ab

Geben Sie die Sendeautorisierungsrichtlinien, die mit einer bestimmten E-Mail-Identität oder Domänenidentität verknüpft sind, zurück. Verwenden Sie den GetIdentityPolicyVorgang, um die Sendeautorisierung für eine bestimmte E-Mail-Adresse oder Domain zu erhalten.

Importe

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

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

Autorisierte Absender auflisten

Verwenden Sie den ListIdentityPoliciesVorgang, um die Richtlinien für die Sendeautorisierung aufzulisten, die mit einer bestimmten E-Mail-Identität oder Domänenidentität in der aktuellen AWS Region verknüpft sind.

Importe

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

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

Widerrufen Sie die Erlaubnis für einen autorisierten Absender

Entfernen Sie die Sendeautorisierung für einen anderen AWS-Konto Benutzer, E-Mails mit einer E-Mail-Identität oder Domänenidentität zu senden, indem Sie die mit dem DeleteIdentityPolicyVorgang verknüpfte Identitätsrichtlinie löschen.

Importe

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

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