Autorisieren von Sendern mit der Amazon SES-API und der AWS SDK for PHP Version 3 - AWS SDK for 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 Sendern mit der Amazon SES-API und der AWS SDK for PHP Version 3

Damit ein anderes AWS-Konto, ein AWS Identity and Access Management Benutzer oder AWS ein Service in Ihrem Namen E-Mails über Amazon Simple Email Service (Amazon SES) senden kann, erstellen Sie eine Sendeautorisierungsrichtlinie. 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 die AWS SDK for PHP ist hier auf GitHubverfügbar.

Anmeldeinformationen

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

Weitere Informationen zur Verwendung von Amazon SES finden Sie im Amazon SES-Entwicklerhandbuch.

Erstellen eines autorisierten Senders

Um ein anderes AWS-Konto zum Senden von E-Mails in Ihrem Namen zu autorisieren, verwenden Sie eine Identitätsrichtlinie, um die Autorisierung zum Senden von E-Mails von Ihren verifizierten E-Mail-Adressen oder Domänen hinzuzufügen oder zu aktualisieren. Um eine Identitätsrichtlinie zu erstellen, verwenden Sie die -PutIdentityPolicyOperation.

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

Abrufen von Richtlinien für einen autorisierten Sender

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

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

Auflisten autorisierter Sender

Um die Sendeautorisierungsrichtlinien aufzulisten, die einer bestimmten E-Mail-Identität oder Domänenidentität in der aktuellen AWS Region zugeordnet sind, verwenden Sie die -ListIdentityPoliciesOperation.

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 der Berechtigung für einen autorisierten Sender

Entfernen Sie die Sendeautorisierung für ein anderes AWS-Konto zum Senden von E-Mails mit einer E-Mail-Identität oder Domänenidentität, indem Sie die zugehörige Identitätsrichtlinie mit dem -DeleteIdentityPolicyVorgang 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"; }