

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
<a name="ses-rules"></a>

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](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rule-sets.html) y [Administración de reglas de recepción para recepción de correo electrónico de Amazon SES](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-managing-receipt-rules.html).

Los siguientes ejemplos muestran cómo:
+ Cree un conjunto de reglas de recepción mediante [CreateReceiptRuleSet](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-email-2010-12-01.html#createreceiptruleset).
+ Cree una regla de recepción mediante [CreateReceiptRule](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-email-2010-12-01.html#createreceiptrule).
+ Describa un conjunto de reglas de recepción mediante [DescribeReceiptRuleSet](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-email-2010-12-01.html#describereceiptruleset).
+ Describa una regla de recepción mediante [DescribeReceiptRule](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-email-2010-12-01.html#describereceiptrule).
+ Enumere todos los conjuntos de reglas de recepción mediante [ListReceiptRuleSets](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-email-2010-12-01.html#listreceiptrulesets).
+ Actualice un conjunto de reglas de recepción mediante [UpdateReceiptRule](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-email-2010-12-01.html#updatereceiptrule).
+ Elimine un conjunto de reglas de recepción mediante [DeleteReceiptRule](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-email-2010-12-01.html#deletereceiptrule).
+ Elimine un conjunto de reglas de recepción mediante [DeleteReceiptRuleSet](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-email-2010-12-01.html#deletereceiptruleset).

Todo el código de ejemplo de AWS SDK para PHP está disponible [aquí en GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php/example_code).

## Credenciales
<a name="examplecredentials"></a>

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](credentials.md). A continuación, importe AWS SDK para PHP, como se indica en [Instalación de la AWS SDK para PHP versión 3](getting-started_installation.md).

Para obtener más información sobre el uso de Amazon SES, consulte la [Guía para desarrolladores de Amazon SES](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/).

## Creación de un conjunto de reglas de recepción
<a name="create-a-receipt-rule-set"></a>

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](https://docs.aws.amazon.com/ses/latest/APIReference/API_CreateReceiptRuleSet.html).

 **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
<a name="create-a-receipt-rule"></a>

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](https://docs.aws.amazon.com/ses/latest/APIReference/API_CreateReceiptRule.html).

 **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
<a name="describe-a-receipt-rule-set"></a>

Una vez por cada segundo, devuelva los detalles del conjunto de reglas de recepción especificado. Para utilizar la operación [DescribeReceiptRuleSet](https://docs.aws.amazon.com/ses/latest/APIReference/API_DescribeReceiptRuleSet.html), 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
<a name="describe-a-receipt-rule"></a>

Devuelva los detalles de una regla de recepción especificada. Para utilizar la operación [DescribeReceiptRule](https://docs.aws.amazon.com/ses/latest/APIReference/API_DescribeReceiptRule.html), 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
<a name="list-all-receipt-rule-sets"></a>

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](https://docs.aws.amazon.com/ses/latest/APIReference/API_ListReceiptRuleSets.html).

 **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
<a name="update-a-receipt-rule"></a>

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](https://docs.aws.amazon.com/ses/latest/APIReference/API_UpdateReceiptRule.html), 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
<a name="delete-a-receipt-rule-set"></a>

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](https://docs.aws.amazon.com/ses/latest/APIReference/API_DeleteReceiptRuleSet.html).

 **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
<a name="delete-a-receipt-rule"></a>

Para crear una regla de recepción determinada, proporcione el valor de RuleName y RuleSetName en la operación [DeleteReceiptRule](https://docs.aws.amazon.com/ses/latest/APIReference/API_DeleteReceiptRule.html).

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