Creazione e gestione di regole e-mail utilizzando l'API Amazon SES eAWS SDK for PHPVersione 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 eAWS SDK for PHPVersione 3

Oltre a inviare e-mail, puoi anche ricevere e-mail con Amazon Simple Email Service (Amazon SES). Le regole di ricezione consentono di specificare che cosa deve fare Amazon SES quando riceve e-mail per gli indirizzi e-mail o i domini di tua proprietà. Una regola può inviare e-mail ad altriAWSservizi inclusi, a titolo esemplificativo ma non esaustivo Amazon S3, Amazon SNS oAWS Lambda.

Per ulteriori informazioni, consulta Gestire i set di regole di ricezione per ricevere le e-mail di Amazon SES e Gestire le regole di ricezione per ricevere e-mail con Amazon SES.

Gli esempi seguenti mostrano come:

La versione integrale del codice di esempio di AWS SDK for PHP è disponibile qui su GitHub.

Credenziali

Prima di eseguire il codice di esempio, configura ilAWScredenziali come descritto inImpostazione delle credenziali . Quindi importaAWS SDK for PHPcome descritto inUtilizzo di base.

Per ulteriori informazioni sull'utilizzo di Amazon SES, consulta laGuida per gli sviluppatori Amazon SES.

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 elemento univoco RuleSetName e usa ilCreateReceiptRuleSetoperazione.

Importazioni

require 'vendor/autoload.php'; use Aws\Ses\SesClient; 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 illustra come creare una regola di ricezione che invia i messaggi in entrata a un bucket Amazon S3, ma puoi anche inviare messaggi ad Amazon SNS eAWS Lambda. Per creare una regola di ricezione, fornisci una regola e RuleSetName alCreateReceiptRuleoperazione.

Importazioni

require 'vendor/autoload.php'; use Aws\Ses\SesClient; 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'operazione DescribeReceiptRuleSet devi fornire il RuleSetName.

Importazioni

require 'vendor/autoload.php'; use Aws\Ses\SesClient; 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"; }

Descrizione di una regola di ricezione

Restituire i dettagli di una regola di ricezione specifica. Per utilizzare il pluginDescribeReceiptRuleoperazione, fornire il RuleName e RuleSetName.

Importazioni

require 'vendor/autoload.php'; use Aws\Ses\SesClient; 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 sotto ilAWSconto nella correnteAWSRegione, utilizza ilListReceiptRuleSetsoperazione.

Importazioni

require 'vendor/autoload.php'; use Aws\Ses\SesClient; 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"; }

Aggiornamento di una regola di ricezione

Questo esempio illustra come aggiornare una regola di ricezione che invia i messaggi in entrata a unAWS Lambdama puoi anche inviare messaggi ad Amazon SNS e Amazon S3. Per utilizzare l'operazione UpdateReceiptRule, devi fornire la nuova regola di ricezione e il RuleSetName.

Importazioni

require 'vendor/autoload.php'; use Aws\Ses\SesClient; 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"; }

Eliminazione di un set di regole di ricezione

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 RuleSetName alDeleteReceiptRuleSetoperazione.

Importazioni

require 'vendor/autoload.php'; use Aws\Ses\SesClient; 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 specifica, fornisci RuleName e RuleSetName alDeleteReceiptRuleoperazione.

Importazioni

require 'vendor/autoload.php'; use Aws\Ses\SesClient; 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"; }