Creación y administración de reglass de correo electrónico mediante la API de Amazon SES y la versión 3 de AWS SDK para PHP - AWS SDK para PHP

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Creación y administración de reglass de correo electrónico mediante la API de Amazon SES y la versión 3 de AWS SDK para PHP

Además de enviar correos electrónicos, también puede recibirlos con Amazon Simple Email Service (Amazon SES). Las reglas de recepción le permiten especificar qué hace Amazon SES con el correo electrónico que reciba para las direcciones de correo electrónico o dominios de su propiedad. Una regla puede enviar correo electrónico a otros servicios de AWS incluidos con carácter meramente enunciativo, Amazon S3, Amazon SNS o AWS Lambda.

Para obtener más información, consulte la sección Administración de conjuntos de reglas de recepción para recepción de correo electrónico de Amazon SES y Administración de reglas de recepción para recepción de correo electrónico de Amazon SES.

Los siguientes ejemplos muestran cómo:

Todo el código de ejemplo de AWS SDK para PHP está disponible aquí en GitHub.

Credenciales

Antes de ejecutar el código de ejemplo, configure sus credenciales de AWS, como se indica en Autenticación AWS con la AWS SDK para PHP versión 3. A continuación, importe AWS SDK para PHP, como se indica en Instalación del AWS SDK para PHP versión 3.

Para obtener más información sobre el uso de Amazon SES, consulte la Guía para desarrolladores de Amazon SES.

Creación de un conjunto de reglas de recepción

Un conjunto de reglas de recepción contiene una colección de reglas de recepción. Debe tener al menos un conjunto de reglas de recepción asociadas a su cuenta para poder crear una regla de recepción. Para crear un conjunto de reglas de recepción, indique un valor único de RuleSetName y use la operación CreateReceiptRuleSet.

Importaciones

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

Código de muestra

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

Creación de una regla de recepción

Controle el correo electrónico entrante añadiendo una regla de recepción a un conjunto de reglas de recepción existente. En este ejemplo se muestra cómo crear una regla de recepción que envía los mensajes entrantes a un bucket de Amazon S3, pero también se pueden enviar mensajes a Amazon SNS y AWS Lambda. Para crear una regla de recepción, proporcione una regla y el valor de RuleSetName en la operación CreateReceiptRule.

Importaciones

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

Código de muestra

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

Descripción de un conjunto de reglas de recepción

Una vez por cada segundo, devuelva los detalles del conjunto de reglas de recepción especificado. Para utilizar la operación DescribeReceiptRuleSet, proporcione el valor de RuleSetName.

Importaciones

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

Código de muestra

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

Descripción de una regla de recepción

Devuelva los detalles de una regla de recepción especificada. Para utilizar la operación DescribeReceiptRule, proporcione el valor de RuleName y RuleSetName.

Importaciones

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

Código de muestra

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

Enumeración de todos los conjuntos de reglas de recepción

Para enumerar los conjuntos de reglas de recepción que existen en la región de Cuenta de AWS actual, AWS utilice la operación ListReceiptRuleSets.

Importaciones

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

Código de muestra

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

Actualización de una regla de recepción

En este ejemplo se muestra cómo actualizar una regla de recepción que envía mensajes entrantes a una función de AWS Lambda, pero también puede enviar mensajes a Amazon SNS y Amazon S3. Para usar la operación UpdateReceiptRule, proporcione la nueva regla de recepción y el valor de RuleSetName.

Importaciones

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

Código de muestra

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

Eliminación de un conjunto de reglas de recepción

Elimine un determinado conjunto de reglas de recepción que no esté deshabilitado actualmente. Esta acción también elimina todas las reglas de recepción que contiene. Para crear un conjunto de reglas de recepción, proporcione el valor de RuleSetName en la operación DeleteReceiptRuleSet.

Importaciones

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

Código de muestra

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

Eliminación de una regla de recepción

Para crear una regla de recepción determinada, proporcione el valor de RuleName y RuleSetName en la operación DeleteReceiptRule.

Importaciones

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

Código de muestra

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