Criação e gerenciamento de regras de e-mail usando a API do Amazon SES e o AWS SDK para PHP versão 3 - AWS SDK para 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 para 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:

O código de exemplo completo do AWS SDK para PHP está disponível aqui no GitHub.

Credenciais

Antes de executar o código de exemplo, configure suas credenciais da AWS, conforme descrito em Autenticando com o AWS uso da AWS SDK para PHP versão 3. Em seguida, importe o AWS SDK para PHP, conforme descrito em Instalar o AWS SDK para PHP versão 3.

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 um RuleSetName exclusivo e utilize a operação CreateReceiptRuleSet.

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 o Amazon SNS e o AWS Lambda. Para criar um conjunto de regras de recebimento, informe uma regra e o RuleSetName exclusivo à operação CreateReceiptRule.

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 utilizar a operação DescribeReceiptRuleSet, informe o RuleSetName.

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 utilizar a operação DescribeReceiptRule, informe a RuleName e o RuleSetName.

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 existentes em sua Conta da AWS na região da AWS atual, utilize a operação ListReceiptRuleSets.

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 uma função do AWS Lambda, mas também é possível enviar mensagens para o Amazon SNS e o Amazon S3. Para utilizar a operação UpdateReceiptRule, informe a nova regra de recebimento e o RuleSetName.

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, informe o RuleSetName à operação DeleteReceiptRuleSet.

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, informe a RuleName e o RuleSetName à operação DeleteReceiptRule.

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