Creazione e gestione di regole e-mail utilizzando l'API Amazon SES e la AWS SDK for PHP versione 3 - AWS SDK for PHP

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Creazione e gestione di regole e-mail utilizzando l'API Amazon SES e la AWS SDK for PHP versione 3

Oltre a inviare e-mail, puoi anche ricevere e-mail con Amazon Simple Email Service (Amazon SES). Le regole di ricezione ti consentono di specificare cosa fa Amazon SES con le e-mail che riceve per gli indirizzi e-mail o i domini di tua proprietà. Una regola può inviare e-mail ad altri AWS servizi tra cui, a titolo esemplificativo ma non esaustivo, Amazon S3, Amazon SNS o. AWS Lambda

Per ulteriori informazioni, consulta Gestione dei set di regole di ricezione per Amazon SES Email Receiver e Gestione delle regole di ricezione per Amazon SES Email Reception.

Gli esempi seguenti mostrano come:

Tutto il codice di esempio per il AWS SDK for PHP è disponibile qui GitHub.

Credenziali

Prima di eseguire il codice di esempio, configurate AWS le vostre credenziali, come descritto inCredenziali. Quindi importate il fileAWS SDK for PHP, come descritto inUtilizzo di base.

Per ulteriori informazioni sull'uso di Amazon SES, consulta la Amazon SES Developer Guide.

Creazione di un set di regole di ricezione

Un set di regole di ricezione contiene una raccolta di regole di ricezione. È necessario avere almeno un set di regole di ricezione associato al tuo account prima di poter creare una regola di ricezione. Per creare un set di regole di ricezione, fornisci un'operazione univoca RuleSetName e utilizza l'CreateReceiptRuleSetoperazione.

Importazioni

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

Codice di esempio

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

Creazione di una regola di ricezione

Controlla la tua e-mail in entrata aggiungendo una regola di ricezione a un set di regole di ricezione esistente. Questo esempio mostra come creare una regola di ricezione che invii i messaggi in arrivo a un bucket Amazon S3, ma puoi anche inviare messaggi ad Amazon SNS e. AWS Lambda Per creare una regola di ricezione, fornisci una regola e il comando all' RuleSetName operazione. CreateReceiptRule

Importazioni

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

Codice di esempio

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

Descrizione di un set di regole di ricezione

Una volta al secondo, restituisci i dettagli del set di regole di ricezione specificato. Per utilizzare l'DescribeReceiptRuleSetoperazione, fornisci il RuleSetName.

Importazioni

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

Codice di esempio

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

Descrivi una regola di ricezione

Restituire i dettagli di una regola di ricezione specifica. Per utilizzare l'DescribeReceiptRuleoperazione, fornisci il comando RuleName e RuleSetName.

Importazioni

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

Codice di esempio

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

Elenca tutti i set di regole di ricezione

Per elencare i set di regole di ricezione esistenti Account AWS nella AWS regione corrente, utilizza l'ListReceiptRuleSetsoperazione.

Importazioni

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

Codice di esempio

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

Aggiornare una regola di incasso

Questo esempio mostra come aggiornare una regola di ricezione che invia i messaggi in entrata a una AWS Lambda funzione, ma puoi anche inviare messaggi ad Amazon SNS e Amazon S3. Per utilizzare l'UpdateReceiptRuleoperazione, fornisci la nuova regola di ricezione e il. RuleSetName

Importazioni

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

Codice di esempio

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

Eliminare un set di regole di incasso

Rimuovere un set di regole di ricezione specifico che non è attualmente disabilitato. Ciò elimina anche tutte le regole di ricezione che contiene. Per eliminare un set di regole di ricezione, fornisci il DeleteReceiptRuleSetcomando RuleSetName all'operazione.

Importazioni

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

Codice di esempio

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

Eliminazione di una regola di ricezione

Per eliminare una regola di ricezione specificata, fornite il comando RuleName e RuleSetName all'DeleteReceiptRuleoperazione.

Importazioni

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

Codice di esempio

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