E-Mail-Regeln mithilfe der Amazon SES SES-API und der AWS SDK für PHP Version 3 erstellen und verwalten - 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.

E-Mail-Regeln mithilfe der Amazon SES SES-API und der AWS SDK für PHP Version 3 erstellen und verwalten

Neben dem Senden von E-Mails können Sie mit Amazon Simple Email Service (Amazon SES) auch E-Mails empfangen. Mit Empfangsregeln können Sie festlegen, was Amazon SES mit E-Mails macht, die es für die E-Mail-Adressen oder Domains erhält, die Sie besitzen. Eine Regel kann E-Mails an andere AWS Dienste senden, einschließlich, aber nicht beschränkt auf Amazon S3, Amazon SNS oder AWS Lambda.

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

In den nachstehenden Beispielen wird Folgendes veranschaulicht:

Der gesamte Beispielcode für die 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 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 Satz von Empfangsregeln zu erstellen, geben Sie einen eindeutigen Wert an RuleSetName und verwenden Sie den CreateReceiptRuleSetVorgang.

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 S3-Bucket sendet. Sie können aber auch Nachrichten an Amazon SNS und AWS Lambda senden. Um eine Empfangsregel zu erstellen, geben Sie eine Regel und dann den CreateReceiptRuleVorgang RuleSetName 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 Sie eine Empfangsregel

Die Details einer angegebenen Empfangsregel werden zurückgegeben. Um die DescribeReceiptRuleOperation zu verwenden, geben Sie RuleName und ein 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"; }

Listet alle Empfangsregelsätze auf

Verwenden Sie den ListReceiptRuleSetsVorgang, um die Empfangsregelsätze aufzulisten, die AWS-Konto in Ihrer aktuellen AWS Region existieren.

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 Sie eine Empfangsregel

Dieses Beispiel zeigt Ihnen, wie Sie eine Empfangsregel aktualisieren, die eingehende Nachrichten an eine AWS Lambda Funktion sendet. Sie können aber auch Nachrichten an Amazon SNS und Amazon S3 senden. Um den UpdateReceiptRuleVorgang 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 Sie einen Empfangsregelsatz

Entfernen Sie einen bestimmten Empfangsregelsatz, der derzeit nicht deaktiviert ist. Mit diesem Vorgang werden auch alle darin enthaltenen Empfangsregeln gelöscht. Um einen Empfangsregelsatz zu löschen, stellen Sie den für RuleSetName den DeleteReceiptRuleSetVorgang bereit.

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 zu löschen, geben Sie den RuleName Wert und RuleSetName für den DeleteReceiptRuleVorgang ein.

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