Quero integrar o Amazon Simple Email Service (Amazon SES) a um grupo de usuários do Amazon Cognito.
Resolução
Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solução de problemas da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.
Pré-requisitos:
As integrações entre contas no Amazon Cognito e no Amazon SES não são aceitas. Não é possível configurar um grupo de usuários do Amazon Cognito em uma conta e depois integrá-lo a um endereço de e-mail do Amazon SES em uma conta diferente.
Verificar as restrições da sandbox do Amazon SES
Todas as novas contas do Amazon SES são colocadas na sandbox do Amazon SES para evitar fraudes e abusos. Ao usar um sandbox do Amazon SES, verifique as restrições.
Mova sua conta para fora da sandbox do Amazon SES
Se você não removeu sua conta da sandbox do Amazon SES, conclua as seguintes etapas:
- Analise a tabela de mapeamento de regiões da AWS na configuração de e-mail do Amazon SES.
A tabela de mapeamento mostra as regiões nas quais as identidades do Amazon SES podem ser integradas aos grupos de usuários do Amazon Cognito. Certifique-se de usar regiões compatíveis antes de mover a conta do Amazon SES para fora da sandbox.
- Solicite acesso à produção para sua conta do Amazon SES. A equipe do AWS Support fornece uma resposta inicial à sua solicitação em 24 horas.
Depois que sua solicitação de acesso à produção for aprovada, você poderá enviar mensagens de e-mail para qualquer destinatário.
Observação: você deve migrar para a nova experiência de console do Amazon Cognito para integrar o Amazon Cognito ao Amazon SES na mesma região.
Verificar a identidade de domínio do Amazon SES
Verifique um ou mais identificadores de domínio no Amazon SES. Se precisar criar uma identidade de domínio antes da verificação, consulte Criar uma identidade de domínio.
Verificar a identidade de e-mail do Amazon SES
Verifique um ou mais endereços de e-mail no Amazon SES. Se precisar criar uma identidade de endereço de e-mail antes da verificação, consulte Criar uma identidade de endereço de e-mail.
Integrar o grupo de usuários com uma identidade verificada
Se a identidade do domínio do Amazon SES for verificada, conclua as seguintes etapas:
- Faça login no console do Amazon Cognito e escolha Grupos de usuários.
- Selecione o grupo de usuários.
- No menu Métodos de autenticação, selecione Configuração de e-mail. Em seguida, selecione Editar.
- Em Endereço de e-mail do remetente, escolha a identidade de domínio verificada do Amazon SES. Por exemplo, exemplo.com.
- Em Nome do remetente, insira seu endereço de e-mail. Por exemplo, admin@exemplo.com.
É possível adicionar um endereço de e-mail personalizado para a identidade do domínio. A API UpdateUserPool configura o grupo de usuários do Amazon Cognito com uma identidade do Amazon SES.
Exemplo de comando update-user-pool:
$ aws cognito-idp update-user-pool --user-pool-id example_pool_id --email-configuration SourceArn=arn:aws:ses:example_region:example_account_number:identity/example_domain,EmailSendingAccount=DEVELOPER,From=user@example.com --region example_region
Importante: a API UpdateUserPool redefine a configuração atual do grupo de usuários. Primeiro, invoque a API DescribeUserPool e, em seguida, envie todos os parâmetros do grupo de usuários para a API UpdateUserPool.
Seguem as descrições do comando update-user-pool:
- example_pool_id corresponde ao ID do grupo de usuários do Amazon Cognito. Exemplo: ap-southeast-1_xxxxxxxx.
- arn:aws:ses:example_region:example_account_number:identity/example_domain é o nome do recurso da Amazon (ARN) da sua identidade de domínio do Amazon SES.
- usuário@exemplo.com deve ser substituído por sua identidade de e-mail.
- example_region representa a região onde está seu grupo de usuários do Amazon Cognito. Exemplo: ap-southeast-1.
Se a identidade de e-mail do Amazon SES for verificada, conclua as seguintes etapas:
- Faça login no console do Amazon Cognito e escolha Grupos de usuários.
- Selecione o grupo de usuários.
- No menu Métodos de autenticação, selecione Configuração de e-mail. Em seguida, selecione Editar.
- Em Endereço de e-mail do remetente, escolha a identidade de domínio de e-mail do Amazon SES. Por exemplo, admin@exemplo.com.
Solucionar erros
Resolver erros de endereço de e-mail não verificado
Você pode receber o erro: "Email address is not verified. The following identities failed the check in region AP-SOUTHEAST-1: user@example.com."
Se você receber esse erro, então tentou enviar um e-mail de uma conta de sandbox do Amazon SES para um endereço de e-mail não verificado.
Para resolver esse erro, mova sua conta do Amazon SES para fora da sandbox ou verifique o endereço de e-mail do destinatário no Amazon SES.
Mensagens de e-mail ausentes
Se os usuários não estiverem recebendo e-mails do seu grupo de usuários do Amazon Cognito, conclua as seguintes etapas:
-
Confirme se você usa a configuração de e-mail padrão do Amazon Cognito ou a configuração de e-mail do Amazon SES para enviar mensagens de e-mail.
-
Verifique suas atualizações por meio do Console de Gerenciamento da AWS. Ou execute a API DescribeUserPool.
Exemplo de comando describe-user-pool:
aws cognito-idp describe-user-pool --user-pool-id example_pool_id --region example_region --query 'UserPool.EmailConfiguration'
Você pode receber uma das seguintes saídas:
{ "SourceArn": "arn:aws:ses:us-east-1:123456789012:identity/admin@example.com",
"EmailSendingAccount": "DEVELOPER",
"From": "admin@example.com"
}
ou
{ "SourceArn": "arn:aws:ses:us-east-1:123456789012:identity/admin@example.com",
"EmailSendingAccount": "COGNITO_DEFAULT"
}
Se EmailSendingAccount for DEVELOPER, seu grupo de usuários está usando o Amazon SES. Verifique se sua conta do Amazon SES está na sandbox. Se estiver, retire-o da sandbox para enviar e-mails para identidades não verificadas. Se já estiver fora da sandbox, verifique os logs do Amazon SES para ver se há problemas de entrega de e-mail.
Se EmailSendingAccount for COGNITO_DEFAULT, seu grupo de usuários está usando a funcionalidade de e-mail padrão do Amazon Cognito. Essa funcionalidade tem uma cota de e-mails enviados por grupo de usuários.
Resolver erros de cota diária de e-mails
Você pode receber o erro: "Exceeded daily email limit for the operation or account. Number of allowed operation has exceeded. If a higher limit is required, please configure your user pool to use your own Amazon SES configuration for sending email messages."
Se você receber esse erro, então você excedeu a cota da configuração padrão de e-mail do Amazon Cognito.
Para resolver isso, configure seu grupo de usuários para usar sua própria configuração do Amazon SES para enviar e-mails. Isso aumenta suas cotas de envio do Amazon SES.
Informações relacionadas
Por que o Amazon Cognito não envia o código de verificação por e-mail ou mensagem de texto SMS com a API ForgotPassword?