Por que não consigo receber notificações por e-mail do meu tópico do Amazon SNS?

5 minuto de leitura
0

Não estou recebendo notificações por e-mail do meu tópico do Amazon Simple Notification Service (Amazon SNS).

Resolução

Verifique se seu endpoint de e-mail está no estado confirmado

Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), certifique-se de estar usando a versão mais recente da AWS CLI.

Use o Console de Gerenciamento da AWS ou a AWS CLI para verificar o estado do seu endpoint de e-mail.

Console de Gerenciamento da AWS

  1. Abra o console do Amazon SNS.
  2. No painel de navegação, escolha Topics (Tópicos) e, em seguida, escolha seu tópico.
  3. Na seção Subscriptions (Assinatura) da página do tópico, encontre seu endpoint de e-mail na coluna Endpoint.
  4. Na coluna Status da sua assinatura, verifique se o status está Confirmado. O status é confirmado quando o endpoint de e-mail é inscrito com sucesso.
  5. Confirme manualmente a assinatura no console do Amazon SNS. Se você não receber o e-mail de confirmação, conclua as etapas nas seções a seguir.
  6. Para solicitar novamente o e-mail de confirmação, selecione a assinatura com seu endpoint e escolha Request confirmation (Solicitar confirmação).

AWS CLI

Execute o comando list-subscriptions-by-topic da AWS CLI.

Observação: se não houver um endpoint de e-mail na coluna Endpoint, esse endpoint foi excluído.

Verifique se os endereços de e-mail podem receber e-mails de contatos externos

Para verificar se o problema está limitado ao Amazon SNS, envie um e-mail de teste de um provedor externo para seu endereço de e-mail de destino. Isso ajuda você a avaliar que tipo de tráfego é permitido de fontes externas. As caixas de correio em uma organização geralmente são limitadas ao tráfego interno.

Se a caixa de correio funcionar e não apresentar problemas, conclua as etapas na seção Check for a firewall, spam filter, blockers, or filter policy (Como verificar se há um firewall, filtro de spam, bloqueadores ou política de filtro).

Como verificar se há um firewall, filtro de spam, bloqueadores ou política de filtro

Conclua as seguintes etapas de solução de problemas:

  1. Verifique com os administradores de e-mail se o endereço no-reply@sns.amazonaws.com está filtrado por um firewall ou filtro de spam.
    Dica: é uma prática recomendada adicionar o endereço no-reply@sns.amazonaws.com a sua lista de permissões de caixa de correio. Para mais informações, consulte a entrada P: Os assinantes precisam definir especificamente suas configurações de e-mail para receber notificações do Amazon SNS? nas perguntas frequentes do Amazon SNS.
  2. Se seus e-mails ainda estiverem filtrados como spam, verifique as regras da caixa de correio para ver se há negações explícitas que bloqueiam seu e-mail de tópico do SNS. Você também pode verificar se os e-mails são encaminhados para pastas específicas na caixa de correio.
  3. Para evitar que as pessoas cancelem a assinatura de todos os destinatários do seu e-mail de tópico do SNS, configure uma autenticação para cancelar a inscrição.
    Observação: você deve ter as permissões necessárias para cancelar a assinatura do seu endpoint de e-mail. Você pode confirmar a assinatura com um usuário autenticado no console do Amazon SNS ou com a AWS CLI.

Verifique se há uma política de filtro na assinatura:

  1. Abra o console do Amazon SNS.
  2. No painel de navegação, escolha Assinaturas.
  3. Na caixa de pesquisa, insira o endereço de e-mail ou o tópico do SNS no qual o endpoint de e-mail está inscrito e, em seguida, escolha sua assinatura nos resultados.
  4. Para seu endpoint de e-mail, escolha a guia Política de filtro de assinatura e, em seguida, procure uma política de filtro para a assinatura na seção Política de filtro de assinatura.

Observação: o Amazon SNS compara os atributos da mensagem com os atributos na política de filtro quando uma mensagem é enviada ao endpoint. Se os atributos da mensagem e os atributos da política de filtro não estiverem alinhados, a mensagem não será recebida no endpoint do e-mail.

Confirme que você não está usando as configurações padrão de chave do AWS KMS

O Amazon SNS permite criptografia em repouso para tópicos. Se a chave padrão do AWS Key Management Service (AWS KMS) for usada para criptografia, serviços (como o Amazon CloudWatch) não poderão publicar mensagens no tópico do SNS. A política de chaves da chave padrão do AWS KMS para o Amazon SNS não permite que esses serviços realizem chamadas de API kms:Decrypt e kms:GenerateDataKey. Como essa chave é gerenciada pela AWS, você não pode editar manualmente a política.

Se você estiver criptografando seu tópico do Amazon SNS, use uma chave gerenciada pelo cliente. A chave gerenciada pelo cliente deve incluir as seguintes permissões na seção Declaração da política de chave:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "service.amazonaws.com"
      },
      "Action": [
        "kms:GenerateDataKey*",
        "kms:Decrypt"
      ],
      "Resource": "*"
    }
  ]
}

Essas permissões permitem que os serviços publiquem mensagens em tópicos criptografados do SNS.

AWS OFICIAL
AWS OFICIALAtualizada há um ano