Criação e gerenciamento de regras de e-mail usando a API do Amazon SES e o AWS SDK for PHP versão 3 - AWS SDK for PHP

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Criação e gerenciamento de regras de e-mail usando a API do Amazon SES e o AWS SDK for PHP versão 3

Além de enviar e-mails, você também pode receber e-mails com o Amazon Simple Email Service (Amazon SES). Com as regras de recebimento, é possível especificar o que o Amazon SES faz com o e-mail que recebe para os endereços de e-mail ou domínios que você possui. Uma regra pode habilitar o envio de e-mail para outros serviços da AWS, incluindo Amazon S3, Amazon SNS ou AWS Lambda, entre outros.

Para obter mais informações, consulte Gerenciamento de conjuntos de regras de recepção para o recebimento de e-mails do Amazon SES e Gerenciamento de regras de recepção para o recebimento de e-mails do Amazon SES.

Os exemplos a seguir mostram como:

Todo o código de exemplo para o AWS SDK for PHP está disponível aqui em GitHub.

Credenciais

Antes de executar o código de exemplo, configure suas credenciais da AWS, conforme descrito em Credenciais. Em seguida, importe o AWS SDK for PHP, conforme descrito em Uso básico.

Para obter mais informações sobre o uso do Amazon SES, consulte o Guia do desenvolvedor do Amazon SES.

Criar um conjunto de regras de recebimento

Um conjunto de regras de recebimento é composto por um grupo de regras de recepção. É necessário que ao menos um conjunto de regras de recebimento esteja associado à sua conta para que você possa criar uma regra de recebimento. Para criar um conjunto de regras de recebimento, forneça uma operação exclusiva RuleSetName e use a CreateReceiptRuleSetoperação.

Importações

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

Código de exemplo

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

Criar uma regra de recebimento

Adicione uma regra de recebimento a um conjunto de regras existente para controlar os e-mails recebidos. Esse exemplo mostra como criar uma regra de recebimento que envia mensagens recebidas a um bucket do Amazon S3, mas também é possível enviar mensagens para Amazon SNS e AWS Lambda. Para criar uma regra de recebimento, forneça uma regra e a RuleSetName para a CreateReceiptRuleoperação.

Importações

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

Código de exemplo

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

Descrever um conjunto de regras de recebimento

Retorne os detalhes do conjunto de regras de recebimento especificado a cada segundo. Para usar a DescribeReceiptRuleSetoperação, forneça RuleSetName o.

Importações

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

Código de exemplo

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

Descrever uma regra de recebimento

Retorne os detalhes de uma regra de recebimento especificada. Para usar a DescribeReceiptRuleoperação, forneça RuleName RuleSetName e.

Importações

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

Código de exemplo

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

Listar todos os conjuntos de regras de recebimento

Para listar os conjuntos de regras de recebimento que existem abaixo de você Conta da AWS na AWS região atual, use a ListReceiptRuleSetsoperação.

Importações

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

Código de exemplo

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

Atualizar uma regra de recebimento

Esse exemplo mostra como atualizar uma regra de recebimento que envia mensagens recebidas a um perfil do AWS Lambda, mas também é possível enviar mensagens para o Amazon SNS e o Amazon S3. Para usar a UpdateReceiptRuleoperação, forneça a nova regra de recebimento e RuleSetName o.

Importações

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

Código de exemplo

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

Excluir um conjunto de regras de recebimento

Remover um conjunto de regras de recebimento específico que não está desabilitado no momento. Essa ação também exclui todas as regras de recebimento incluídas no conjunto. Para excluir um conjunto de regras de recebimento, forneça o RuleSetName para a DeleteReceiptRuleSetoperação.

Importações

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

Código de exemplo

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

Excluir uma regra de recebimento

Para excluir uma regra de recebimento especificada, forneça a RuleName e RuleSetName para a DeleteReceiptRuleoperação.

Importações

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

Código de exemplo

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