Erstellen und Verwalten von E-Mail-Regeln 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.

Erstellen und Verwalten von E-Mail-Regeln mit der Amazon SES-API und der AWS SDK for PHP Version 3

Zusätzlich zum Senden von E-Mails können Sie auch E-Mails mit Amazon Simple Email Service (Amazon SES) erhalten. Mithilfe von Empfangsregeln können Sie angeben, wie Amazon SES mit E-Mails vorgeht, die es für die E-Mail-Adressen oder Domänen erhält, die Sie besitzen. Eine Regel kann E-Mails an andere -AWSServices senden, einschließlich, aber nicht beschränkt auf Amazon S3, Amazon SNS oder AWS Lambda.

Weitere Informationen finden Sie unter Verwalten von Empfangsregelsätzen für den Amazon SES-E-Mail-Empfang und Verwalten von Empfangsregeln für den Amazon SES-E-Mail-Empfang.

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 Empfangsregelsatzes

Ein Empfangsregelsatz enthält eine Sammlung von Empfangsregeln. Sie müssen mindestens einen Empfangsregelsatz mit Ihrem Konto verknüpft haben, bevor Sie eine Empfangsregel erstellen können. Um einen Empfangsregelsatz zu erstellen, geben Sie einen eindeutigen an RuleSetName und verwenden Sie die -CreateReceiptRuleSetOperation.

Importe

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

Beispiel-Code

$SesClient = new Aws\Ses\SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-2' ]); $name = 'Rule_Set_Name'; try { $result = $SesClient->createReceiptRuleSet([ 'RuleSetName' => $name, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

Erstellen einer Empfangsregel

Kontrollieren Sie Ihre eingehenden E-Mails durch Hinzufügen einer Empfangsregel zu einem vorhandenen Empfangsregelsatz. Dieses Beispiel zeigt Ihnen, wie Sie eine Empfangsregel erstellen, die eingehende Nachrichten an einen Amazon S3-Bucket sendet, aber Sie können auch Nachrichten an Amazon SNS und sendenAWS Lambda. Um eine Empfangsregel RuleSetName zu erstellen, geben Sie eine Regel und die für die -CreateReceiptRuleOperation an.

Importe

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

Beispiel-Code

$SesClient = new Aws\Ses\SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-2' ]); $rule_name = 'Rule_Name'; $rule_set_name = 'Rule_Set_Name'; $s3_bucket = 'Bucket_Name'; try { $result = $SesClient->createReceiptRule([ 'Rule' => [ 'Actions' => [ [ 'S3Action' => [ 'BucketName' => $s3_bucket, ], ], ], 'Name' => $rule_name, 'ScanEnabled' => true, 'TlsPolicy' => 'Optional', 'Recipients' => ['<string>'] ], 'RuleSetName' => $rule_set_name, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

Beschreiben eines Empfangsregelsatzes

Die Details des angegebenen Empfangsregelsatzes werden einmal pro Sekunde zurückgegeben. Um die -DescribeReceiptRuleSetOperation zu verwenden, geben Sie die an RuleSetName.

Importe

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

Beispiel-Code

$SesClient = new Aws\Ses\SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-2' ]); $name = 'Rule_Set_Name'; try { $result = $SesClient->describeReceiptRuleSet([ 'RuleSetName' => $name, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

Beschreiben einer Empfangsregel

Die Details einer angegebenen Empfangsregel werden zurückgegeben. Um die -DescribeReceiptRuleOperation zu verwenden, geben Sie die RuleName und an RuleSetName.

Importe

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

Beispiel-Code

$SesClient = new Aws\Ses\SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-2' ]); $rule_name = 'Rule_Name'; $rule_set_name = 'Rule_Set_Name'; try { $result = $SesClient->describeReceiptRule([ 'RuleName' => $rule_name, 'RuleSetName' => $rule_set_name, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

Auflisten aller Empfangsregelsätze

Um die Empfangsregelsätze aufzulisten, die unter Ihrem AWS-Konto in der aktuellen AWS Region vorhanden sind, verwenden Sie die -ListReceiptRuleSetsOperation.

Importe

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

Beispiel-Code

$SesClient = new Aws\Ses\SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-2' ]); try { $result = $SesClient->listReceiptRuleSets(); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

Aktualisieren einer Empfangsregel

Dieses Beispiel zeigt Ihnen, wie Sie eine Empfangsregel aktualisieren, die eingehende Nachrichten an eine -AWS LambdaFunktion sendet, aber Sie können auch Nachrichten an Amazon SNS und Amazon S3 senden. Um die -UpdateReceiptRuleOperation zu verwenden, geben Sie die neue Empfangsregel und die an RuleSetName.

Importe

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

Beispiel-Code

$SesClient = new Aws\Ses\SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-2' ]); $rule_name = 'Rule_Name'; $rule_set_name = 'Rule_Set_Name'; $lambda_arn = 'Amazon Resource Name (ARN) of the AWS Lambda function'; $sns_topic_arn = 'Amazon Resource Name (ARN) of the Amazon SNS topic'; try { $result = $SesClient->updateReceiptRule([ 'Rule' => [ 'Actions' => [ 'LambdaAction' => [ 'FunctionArn' => $lambda_arn, 'TopicArn' => $sns_topic_arn, ], ], 'Enabled' => true, 'Name' => $rule_name, 'ScanEnabled' => false, 'TlsPolicy' => 'Require', ], 'RuleSetName' => $rule_set_name, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

Löschen eines Empfangsregelsatzes

Entfernen Sie einen bestimmten Empfangsregelsatz, der derzeit nicht deaktiviert ist. Mit diesem Vorgang werden auch alle darin enthaltenen Empfangsregeln gelöscht. Um einen Empfangsregelsatz RuleSetName zu löschen, geben Sie die für die -DeleteReceiptRuleSetOperation an.

Importe

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

Beispiel-Code

$SesClient = new Aws\Ses\SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-2' ]); $name = 'Rule_Set_Name'; try { $result = $SesClient->deleteReceiptRuleSet([ 'RuleSetName' => $name, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

Löschen einer Empfangsregel

Um eine angegebene Empfangsregel RuleName RuleSetName zu löschen, geben Sie und für die -DeleteReceiptRuleOperation an.

Importe

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

Beispiel-Code

$SesClient = new Aws\Ses\SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-2' ]); $rule_name = 'Rule_Name'; $rule_set_name = 'Rule_Set_Name'; try { $result = $SesClient->deleteReceiptRule([ 'RuleName' => $rule_name, 'RuleSetName' => $rule_set_name, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }