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:
-
Crie um conjunto de regras de recebimento usando CreateReceiptRuleSet.
-
Crie uma regra de recebimento usando CreateReceiptRule.
-
Descreva um conjunto de regras de recebimento usando DescribeReceiptRuleSet.
-
Descreva uma regra de recebimento usando DescribeReceiptRule.
-
Liste todos os conjuntos de regras de recebimento usando ListReceiptRuleSets.
-
Atualize uma regra de recebimento usando UpdateReceiptRule.
-
Remova uma regra de recebimento usando DeleteReceiptRule.
-
Remova um conjunto de regras de recebimento usando DeleteReceiptRuleSet.
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"; }